// 2018-12-03
// more error codes for temp file error, also try to not cancel whole job when error occurs but continue with next lne item
short TGeneralPrintHandler::PrintPackage()
OSErr TTEPSFileHandler::SetCurrentPathForFileWithErrorCode(FSSpec srcFSSpec)		// 2018-12-03
void TPrintView::FillInImageFSSpec4BGPrintingNew(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, FSSpec	ckTemplate)
void TTepsPrintHandler::CreateJobFile4BackgroundPrinting(short	imageNumber, Boolean now, bool stop, TView	*aView)

// 2018-11-30
void saveColorAdjustToFile(TFile	*aFile, myCocoaImageColorAdjustInfo	*color)			// 01-08-09
bool loadColorAdjustFromFile(TFile	*aFile, myCocoaImageColorAdjustInfo	*color)		// 01-08-09
void validateMyCocoaImageColorAdjustInfo(myCocoaImageColorAdjustInfo	*color)			// 2018-11-30

// 2018-11-20
do not rewrite meta data if correct already
void TImageFileObject::IImageFileObject(TFile *aFile, float rotation)

check for edit shift/zoom/chromakey window before jumping to macPOS and close it to prevent crash in old chromakey mode
void TSessionPrintWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 2018-10-22
fix bug not using result dictionary

// 2018-10-17
make custom api pref and child name float window

make a fix in new overlay drag feature, sometimes when dragging in ck mode redraw left funny pixels in the background
TTracker* TOverlayFrameDragger::TrackMouse(TrackPhase aTrackPhase,CViewPoint& anchorPoint,CViewPoint& previousPoint,CViewPoint& nextPoint,bool mouseDidMove)

// 2018-10-04
fix speed and redraw issue with 164 up template
void TDropView::LoadPage(short	pageNumber)
void TDropPreviewImage::LoadImage(TImageFileObject	*anObject, bool showProgress)	// 2010-04-15
void TThumbNailView::DoMouseCommand(CViewPoint& theMouse, TToolboxEvent* event, CPoint_AC hysteresis)

// 2018-10-01
// 2018-10-02
bool setCurrentStudentWithMultipleTickets(CStr255_AC	theString)		// 2018-09-26

// 2018-09-24 - 2018-09-29
add a feature to combine multiple tickets into one group code while doing start sitting
bool TPreviewImageWindow::NewGroupCodeSearchSitting(CStr255_AC	customer)	// 2018-09-26
bool setCurrentStudentWithMultipleTickets(CStr255_AC	theString)		// 2018-09-26
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)
view 1241

in preview mode allow to search
NSArray* TPreviewImageWindow::FindGroupNumberWithTicketNumber()		// 2018-09-29
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)
TTicketNumberListView
add a pref to Triprism prefs
	short				enableMultipleTicketMode;	// 2018-09-26

// 2018-09-13
// 2018-09-14
bool	hasCopyToEditableTextAttribute()		// 2018-09-14
add a feature to copy TEPS-REG-ORDERTEXT + TEPS-REG-CHILDNAME to editable text when prompting for editable text
bool GoToSetupStringsWindowAll()

created boolean to en/disable new feature with obtaining group code and renaming files
bool gNewCustomerOrderMultipleScanMode = false;		// 2018-09-14 change to false for now

// 2018-09-06
add 2 fields to package info window
TEPS-REG-ORDERTEXT + TEPS-REG-CHILDNAME
- (void)doEmailEntryAppNotifications:(NSDictionary*)dict		// 2011-10-11
view 1141

// 2018-08-20
fix bug in moving overlay where it did not redraw underlayer correctly
TOverlayFrameDragger

fix compile issue with Teps-Processor

// 2018-08-10
add a new feature to use Teps with TepsCanonCapture.app

add 'newCanonCameraHotFolderMode' dictonary item in TepsHelper.plist or POSHelper.plist in TEPS MISCELLANEOUS FOLDER  to use Teps with
TepsCanonCapture.app
- (void)doCanonAppNotifications:(NSDictionary*)dict		// 2018-08-10
bool isNewCanonAppEnabled()	// 2018-08-10
OSErr TMyCanonCameraHandler::FindCamera()
OSErr TMyCanonCameraHandler::FindCameraThroughCanonCamerApp()
bool hasCanonCameraHotFolderAttribute()	// 2018-08-10
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)


// 2018-08-06
// 2018-08-03
new feature to move overlays
bool TDropView::HandleMouseDown(const CViewPoint& theMouse,				// 10-24-01
void TOverlayView::SetDragging(bool dragging, CViewRect	newFrame, CPoint_AC	offset)	// 2018-08-03
class TOverlayFrameDragger

// 2018-07-23
STB new features, external video monitor preview with CK template, show automatically when new image comes in
void TPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,


// 2018-07-16
add stamp and edit text object when writing out nodes
short WriteNodeAsXMl(FSSpec nodeFSSpec)

add the stamp string 
NSMutableDictionary* TStampObject::CreateObjectDictionary(CRect_AC	outputRect)		// 2015-05-22


// 2018-07-12
fix issue with not creating default upload for web folder
	if (validateIfAliasHandle(&(getMyWebUploadPrefs()->folder)))		// 2018-07-12
	
 
// 2018-07-06
// 2018-07-09
STB new features, external video monitor preview with CK template
[markeditemscount] in display string

// 2018-06-29 fix for overwrite existing
short doNSStringPathCopy ( NSString	*srcPath, NSString	*dstPath, NSString	*fileName, bool overwriteFiles)	// 2018-06-29
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )


// 2018-05-24
fix crash when exporting packages
bool readPrefFromProcessorPreferencesFile() // 2017-06-06


// 2018-05-19 -  2018-05-22
Print canvas as xml
// 2018-04
saving packages as XML

// 2018-04-09 make pref for new print center

// 2018-04-06 enable new Coca method copy to prevent odd read file eror (not able to open)
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )

Prevent crash when quitting from dock when pref window or package window are open, bring app to front
void TTeps2000Application::DoScriptCommand(CommandNumber aCommandNumber,

ENABLE AUTO TEPS-PROCESSOR relaunch, add a NSUserDefaults - prefEnableRelaunch
TO ENABLE Writing Dictionary and Jpeg file to newly created 'Dictionary test stuff' folder, 
add a NSUserDefaults - prefWritePList


// 2018-03-13 make some changes for Tyler, do not do printer conversion just send plain 'print to file'


// 2018-02-23
only load new files using time when in special one up mode
void repeatAction()


// 2018-02-22
enable relaunch by boolean 
	BOOL destValue = [[NSUserDefaults standardUserDefaults] boolForKey:@"prefEnableRelaunch"];	// 2018-02-22


// 2018-02-22
// only use timer option in special one up mode
void TThumbnailToolsView::DoPostCreate(TDocument	*aDocument)
	
	if (getAppMode()==kOneforAllMode)		// 2018-02-22


// 2018-02-21 fix issue with multiple ck template send mode where is sent the images to the wrong spooler
short TDropView::WriteViewObjectsNew(CStream_AC	*aStream, short	currentImage)	// 3-3-04



// 2018-02-19 copy overlay files for spooler 2
void copyOverlayFileToSpoolerFolder(FSSpec	srcSpec, CStr31_AC	myCategory, short	userMode)		// 11-01-02

fix issue with filenames over 31 charcters when sending server job

// 2018-02-15 auto relaunch processor

for now return false but remove line to fall through

bool systemVersionIsGreaterOrEqualThen10()		// 2018-02-15
{
	return false;



// 2018-02-13steve
1. show 2018 in procsessor window
		fTStaticText1->SetText ( CString_AC("2018"), kDontRedraw ); // 2018-02-13steve	//2010-05-10steve 2010-09-09 2009-12-10steve // 09-12-07	// 3-25-03
2. change all target versions numbers to match latest 17.12.29
3. change all the info.plist for each target GetInfoString to show 2018 as well





// 2018-02-12
// 2018-02-13
MENU rsrc 2033 add item Image + Template Name
add a new name for print to file sets

make Timer feature to scan current folder every x seconds, add the files to the toolbar and process a print command
void repeatAction()
void MyTimerObject()
TThumbnailToolsView
TAdvanced2Preferences

// 2018-02-01 use base file name instead of customer name
void	jumpToEmailApp(bool	CK)		// 2011-10-11

make dnp 820 invisible for now

// 2018-01-12
// 2018-01-15
add DNP DS820 printer

// 2018-01-09
check for prefWritePList Boolean in plist file to enable writing of new plist and data file
OSErr TSpoolerPrintView::WriteDataToFile(tPrintInfoStruct	*printInfo)						// 3-14-06


// 2017-12-14
check for existing files before adding to queue to prevent read file error, somehow non existing file is added to queue, 
need to do more testing to find out why
TFile *GetNextNewJobFile ( tPrintServerPrefs *infoPtr )

// 2017-12-06
set show progress panel to false to prevent app from bouncing when using spooler printing
void doPrintWithView(NSImageView	*printView)
	[printOp setShowsProgressPanel:NO];		// 2017-12-06 add this to prevent bouncing


// 2017-12-01
reset email entry buffer after printing package
- (void)doEmailEntryAppNotifications:(NSDictionary*)dict		// 2011-10-11

// 2017-11-30
make an option to jump to email app for the Grove to send text message, only called when browserTuUse == 99
		if(	whatBrowserToUse()	== 99)		// 2017-11-30
short TGeneralPrintHandler::PrintPackage()


// 2017-11-17steve
// 17.12.26

// allow TepsTriprism to perform zoom/shift/crop from sales station app
void PrintItem(NSMutableDictionary	*lineInfo1, NSArray * images, NSString	*customerID)
// 2017-11-17steve #ifndef __Teps4TriprismVersion__			



// 17.12.25


// 2017-11-02
fix verion 3 banmboo calls to save session
-(void) testForEdwinSavePrint:(id)param // 2013-10-25
void TCameraStationWindow::DoPostCreate(TDocument	*aDocument)

// 2017-10-30
make a fix for freeze frame version to fix error when sending job to teps-processor
OSErr TTEPSFileHandler::SaveAndReturnSavedFSSpec(short vRefNum, long	parID, long	fileNumber, FSSpec *theFSSpec)
void TImageObject::WriteToNew(CStream_AC* aStream)


// 2017-09-06
make notes bigger
fix reading preview list when searching in multiple days folders

// 2017-09-04
add notes to package window
bool readDictionaryFileandProcess(CStr255_AC	customer)		// 2017-07-06
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)

// 2017-09-01
search in multiple days folders
void doNewSearchInAllDaysFolders(CStr255_AC currentCustomer, NSString	*searchpath)

from steve
		NSString	*priorityStr = [NSString stringWithFormat:@"%i",package]; // 2017-08-30steve  @"1";



PreviewImageWindow.cp: 				// 2017-08-28steve if (getCurrentInputHandler()->IsStartSitting())
PreviewImageWindow.cp: 				if (getCurrentInputHandler()->IsStartSitting() && getMyInputPrefs()->cameraSource.type != kCameraPCCard) // 2017-08-28steve
PreviewImageWindow.cp: 					// 2017-08-28steve extern void	jumpToBrowserAppToGetCustomerIDPhotoStation();		// 2017-08-09
PreviewImageWindow.cp: 					// 2017-08-28steve jumpToBrowserAppToGetCustomerIDPhotoStation();					// 2017-08-09
PreviewImageWindow.cp: 					extern void	jumpToBrowserAppToGetCustomerID();	// 2017-08-28steve
PreviewImageWindow.cp: 					jumpToBrowserAppToGetCustomerID(); // 2017-08-28steve



	{ // 2017-09-01steve
		CocoaContext cocoacontext;
		
		NSLog(@"============================================\n\n\n");
		NSString* scriptName = @"getnewestfiles.sh";
        NSBundle *bundle = [NSBundle mainBundle];
		
				NSString* cmd = [NSString stringWithFormat:@"%@ \"%@\" 100 %@", latexPath, searchpath, code?:@"" ];


		cmd = [NSString stringWithFormat:@"/usr/bin/open \"%@\"",pathtoopen];


#define usenstask	// 2017-09-01steve

#ifdef usenstask

NSString *runShellCommand(NSString *commandToRun)
{
    NSTask *task;






// 2017-08-16
add more data to floating window and change to Static Text
- (void)doEmailEntryAppNotifications:(NSDictionary*)dict


// 2017-08-14
// 2017-08-15
create floating package info window
- (void)doEmailEntryAppNotifications:(NSDictionary*)dict		// 2011-10-11
void TXMLInfoWindow::DoPostCreate(TDocument	*aDocument)		// 2017-08-15
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)


// 2017-08-09
// 2017-08-10
write packages for use with Bamboo

// 2017-08-09
in start sitting jump to teps-browser with photostationlist
void	jumpToBrowserAppToGetCustomerIDPhotoStation()		// 2017-08-09
- (void)doEmailEntryAppNotifications:(NSDictionary*)dict		// 2011-10-11


// 2017-08-08
make a fix for first customer that gets loaded to reflect preview.list
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)
bool doesDictionaryFileExist(CStr255_AC	customer)		// 2017-08-08

// 2017-08-03
fixes for new Teps-Browser get customer id option
- (void)doEmailEntryAppNotifications:(NSDictionary*)dict		// 2011-10-11


// 2017-08-01
// 2017-08-02
create an option to get customer id from Teps-Browser app
void	jumpToBrowserAppToGetCustomerID()		// 2017-08-01
- (void)doEmailEntryAppNotifications:(NSDictionary*)dict		// 2011-10-11
TBarcodeAppPreferences
bool TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)



// 2017-07-20 create TEditable Text object for xml, string number
NSMutableDictionary* TEditTextObject::CreateObjectDictionary(CRect_AC	outputRect)		// 2017-07-20
short TPackageWindow::WriteTemplateAsXMl(FSSpec templateFSSpec)

// 2017-07-18 sort image files coming from preview list before adding them to toolbar
bool readDictionaryFileandProcess(CStr255_AC	customer)		// 2017-07-06

do not log error -43, too many of them
CStr255_AC	GetFullFileName ( const FSSpec *srcFSSpec )

// 2017-07-07
mark image file if fFavorite flag is on, regarldless if fAdOn flag is set
bool readDictionaryFileandProcess(CStr255_AC	customer)		// 2017-07-06


// 2017-07-06
make feature for stB to auto load and mark images based omn preview file written by Teps-Previewer
bool readDictionaryFileandProcess(CStr255_AC	customer)		// 2017-07-06
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)


// 2017-06-27
// 2017-06-28
fix issue where file name was updated incorrectly when doing proof sheet
void TDropView::ResetEditText(CPoint_AC	topLeftPoint)	// 10-10-01

speed up loading of pages
void TDropView::LoadPage(short	pageNumber)
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03

fix issue where resolution was not saved to the output file when choosing 'save file as is'
void saveCGImageRefToPath(CGImageRef	imageRef, NSString *path, short dpi)	// 2017-06-28 add dpi


// 2017-05-23 - 2017-06-12
xml changes

// 2017-05-23
differentiate between different stamp types
NSString* TStampObject::GetStampType()		// 2017-05-23

// 2017-05-22
// 2017-05-23
add stamp to xml
NSMutableDictionary* TStampObject::CreateObjectDictionary(CRect_AC	outputRect)		// 2015-02-24
-(BOOL) newStampLayer:(NSMutableDictionary*) dictionary	layerType:(NSString*)layer	forIndex:(long)zindex	// 2017-05-22
short TPackageWindow::WriteTemplateAsXMl(FSSpec templateFSSpec)

add justification
NSMutableDictionary* TTextObject::CreateObjectDictionary(CRect_AC	outputRect)		// 2015-02-24


// 2017-05-16
fix issue where TFileOverlayObject and TTransparentObject were not pointing to the correct Graphics folder when writing xml
NSMutableDictionary* TFileOverlayObject::CreateObjectDictionary(CRect_AC	outputRect)		// 2015-01-12
NSMutableDictionary* TTransparentObject::CreateObjectDictionary(CRect_AC	outputRect)		// 2015-01-12


// 2017-05-15
make a change to write out landscape and portrait versions of template files as xml but comment out for now
short TPackageWindow::WritePackageToXML(short package)


// through 2017-05-09
// through 2017-05-08
add all xml changes to recent project

// through 2017-05-06
add TepsNSWindow to Teps-Macys project to make it compile

fix bug where it would return noErr if no module 0003-0015 was found and would not continue on to other modules 
OSErr	TNikonTypeNewCameraHandler2::FindCamera()

remove error message if one of the older modules could not be found so it is easier to swith back to older modules by just putting one module in
OSErr	TNikonBaseCameraHandler2::FindCamera()



// through 2017-03-21
test and make changes o TNikonCameraHandler and TepsNSNotificationCenter to allow for Nikon camera support on system 10.11 or higher
with Nikon capture app
bool isNewNikonAppEnabled()	// 2017-03-20
return false to not allow for new app to run

// 2017-03-10
fix a bug where high res zoom option rotated images wrongly when current canvas was set to all/marked
short TImageObject::Draw4DragAndDropPrintingAlwaysCurrent(GWorldPtr	outputOffscreen, short	dpi, CStr255_AC	&fileName)		// 08-05-09


// 2017-03-06 - 2017-03-10
Make changes to TepsNSNotificationManager and TNikonCameraHandler to support new nikon camera app


// 2017-03-02 
temporarily disable idle when scan barcode window is up to prevent images from coming in with '???'-name
also send notification to be on top of all applications
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)

void myShowFloatingAlertWithString(NSString* myErrorString)
bool TNikonCameraHandler::Check4NewFiles()
TepsNSWindowController

// 2017-02-20
// fix renaming issue when copying files to Processor that are longer then 31 characters which in turn caused following issues:
1.  upload issue with the # in the filename 
2. was always overwriting existing filenames regardless if u checked on or off for print to file sets

OSErr TTEPSFileHandler::SaveAndReturnSavedFSSpec(short vRefNum, long	parID, long	fileNumber, FSSpec *theFSSpec)

// 2017-01-26
// release as v17.11.7
// change @2016 to @2018


// 2017-01-20
make an option to skip macPOS
void TSessionPrintWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
TBarcodeAppPreferences  skipMacPOS
void TSessionPrintWindow::SimplePrintWithoutMacPOS()		// 2017-01-20

// 2017-01-20
remove references to growl stuff
remove Growl library form Targets/Link Binary with Libraries folder (else it crashes)
OSErr TGeneralPrintHandler::FinishWriteFlashCard2(short	vRefNum)		// 2010-05-17


// 2017-01-17
make a fix for old time photo zoom out disapearing image issue
void TDropPreviewImage::Prepare4Drawing(bool	forceRedraw) // 1-30-01 added bool forceRedraw default is true


// 2017-01-03
add a feature to change the template on the fly based on the CK template orientation by finding the corresponding _LandSCAPE/_PORTRAIT template
OSErr TPrintView::ReadObjects(FSSpec	fileSpec, bool	showProgress)

// 2016-12-01
remove all PPC references and compile with new Canon Library
EDSDK version 3.4.20.5

// 2016-11-25
make sure .data and .plist file do NOT get saved to jobs to be printed folder
OSErr TSpoolerPrintView::WriteDataToFile(tPrintInfoStruct	*printInfo)						// 3-14-06


// 2016-11-08
high res full screen preview
speed up building of page
GWorldPtr	CreateOffscreenFromTemplateFile(short index, short dpi)		// 2016-11-08


// 2016-10-21
// 2016-10-24
Freeze frame version of Teps-X to build preview based on template file PortraitLayout and LandscapeLayout

// 2016-10-18
// 2016-10-20
supported for rotated barcodes and QR Codes
TBaseTextObject 

// 2016-10-18
make sure to load exclusion mask from ck template file too
void TImageFileObject::IImageFileObject(TFile *aFile, float rotation)


// 2016-10-17
Also add preview of barcode and/or QR Code in template design window
void TTextObject::DrawContent(TScalableView* itsView)
void TStampObject::DrawContent(TScalableView* itsView)


// 2016-10-13
save exclusion mask to CK template file and load when clicking button
void TDropPreviewImage::LoadCKPropertiesFromTemplateFile()	// 1-29-07
void TDropPreviewImage::SaveCKPropertiesWithCKFile(bool	checkIfChanged)	// 1-31-07


// 2016-10-12
fix issue where defocus, shrink value and inward flag were not passed correctly when using node on CK template
TNodeViewObject in Teps-Processor
void TNodeViewObject::DoNewReadObjects(CStream_AC	*aStream)		// 10-31-03

// 2016-10-10
bool TStampObject::PrintTextAsBarcode(CStr255_AC	textString, GWorldPtr	outputOffscreen, short	dpi)	// 2016-10-03
implement barcode in addition to QR Code

// 2016-10-07
forgot one spot to add QR printing function, when doing hires preview of ck template
bool TStampObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi)

// 2016-10-06
mount all backup volumes at startup (added 5-7), also before opening backup detail window mount volume to show folder name correctly
void TCustomCopyPrefWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void validateBackupFolders()			// 2-11-08


// 2016-10-03
// 2016-10-04
implement QR Code make change to:
TStampObject
TBaseTextObject
TTextObject

// 2016-09-27
fix renaming with suffix when in customer order mode 
void TImageFileObject::RenameFileWithsuffix()	// 2015-07-27


// 2016-09-15
brint Teps to front on camera disconnect
Nikon:
void CALLPASCAL CALLBACK ModEventProc( NKREF refProc, ULONG ulEvent, NKPARAM data )
Canon:
EdsError EDSCALLBACK  handleCameraStatusEvent (EdsCameraStatusCommand event,  EdsUInt32 parameter, EdsVoid * context) 		// 12-4-07

make a preference for bringing Teps to front
TInputPreferences
bringTepsToFrontOnDisconnect

when using option 'Auto create JPEG for web' make sure 31+ character file names don't get cut off
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )


// 2016-08-13
put ifdef back in to save plist and data file to print cnter
#define __SaveDictionaryAndDataFileForPrintCenter__	true	// 2016-08-30
void writeDataHandleToDataFile(tPrintInfoStruct		*printInfo, GWorldPtr		outputOffscreen, NSString	*myFilePath)
OSErr TSpoolerPrintView::WriteDataToFile(tPrintInfoStruct	*printInfo)						// 3-14-06


// 2016-08-19 
make fast drawing available for all modes when dragging since you can turn it off worst case
void HandleShowPI(TView* theView,const CViewPoint& theMouse,TDataPackage* theDataPackage)

// 2016-08-07 -  2016-08-19
make option to write out all preferences to dictionary file


// 2016-08-04
If customer order mode and there is images marked send base name of 1st marked image to Teps-Browser if email package
void	jumpToEmailApplicationGeneral(short index )


// 2016-07-19
- (void) printImage:(NSMutableDictionary*) dict
use the local path to delete images not the file in the main images folder

use home button to load default files into template if set for current image but images are marked
void TDropView::LoadPage(short	pageNumber)

// 2016-07-12
add an error code if set for all images print but allimages array is missing
- (void) printImage:(NSMutableDictionary*) dict


// 2016-07-07
implement email app mechanism for Teps-apps
- (void)doEmailEntryAppNotifications:(NSDictionary*)dict		// 2011-10-11
short TGeneralPrintHandler::PrintPackage()

// 2016-06-28
send an error message to print station app if no valid image files are found
- (void) printImage:(NSMutableDictionary*) dict


// 2016-06-23 fix card reader issues
bool TFindPCCardWindow::DoIdle(IdlePhase	thePhase)


// 2016-06-22
create menu item to turn off use of email app
void	jumpToEmailApplication(short index )
void TSessionPrintWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
TBarcodeAppPref


// 2016-06-21
when using TepsBrowser check for notification to continue on to macPOS
- (void)handleDistributedNotificationA:(NSNotification*)notification
void	jumpToEmailApplication(short index )

// 2016-06-21
let plist helper file determine to use TepsBrowser or Teps Email entry 
short	whatBrowserToUse()		// 2016-02-15


// 2016-06-14 
resolve issue with 'C/' in file name, when copying to Teps-Processor make file name string mutable and replace '/' by ':'
OSErr TTEPSFileHandler::SaveAndReturnSavedFSSpec(short vRefNum, long	parID, long	fileNumber, FSSpec *theFSSpec)


// 2016-06-07
// try to prevent crashing when backing up folder and new camera image comes in
- (void)doPreviewerAppNotifications:(NSDictionary*)dict		// 2011-10-24
void mySendPreviewerAppNotificationConfirm(CStr255_AC	value)		// 2011-10-25



// 2016-05-31
send a notification back to previewer app after receiving new customer sitting started notification and redrawing of thumbnail tool bar
- (void)doPreviewerAppNotifications:(NSDictionary*)dict		// 2011-10-24


// 2016-05-24
// 2016-05-25
add meta data too if attribute save original file as is is on
short 	TBGPrintView::SaveMetaDataToOriginalFile ( NSString *srcPath)		// 2012-09-28

correct ticket number issue for Teps-X freeze frame link function
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now, TView	*aView)
void doSaveGroupCodeAndTicketNumberToCurrentBuffer(CStr255_AC fileName)	// 2016-05-25


// 2016-05-16
remove feature that allow for renaming
bool setCurrentStudent(CStr255_AC	theString)


// 2016-05-12
// 2016-05-10
add a feature to add a prefix to marked images
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01
void TTeps2000Application::DoSetupMenus()
bool setCurrentStudent(CStr255_AC	theString)

add view resource 1008
add ALERT 1520
MENU option 1278

// 2016-05-06

// 2016-05-05
change view resource 1240 to allow for years greater then 2015 (2100)

// 2016-05-03
when creating thumbnails and working in template window make sure to use transparency for rotated image objects so you are actually able to see the background graphic, foreground only
short TImageObject::Draw4CKPreview(GWorldPtr	outputOffscreen, short	imageNumber, short dpi)	// 9-19-07 add dpi
void TImageObject::DrawContent(TScalableView* itsView)
void DrawRotatedGWorldAlpha(short	angle, GWorldPtr		CurrPort, GWorldPtr		srcGWorld, CRect_AC		tempQDRect, short boxScaleValue)

// 2016-04-28
check if new Bamboo server version to determine if to use new command lines
BOOL isV3Version()		// 2016-04-28
-(BOOL) checkIfv3Version		// 2016-04-28

// 2016-04-25
change xml to allow prevent Bamboo from failing
-(BOOL) appendBoundary
-(BOOL) processEachObject:(id) obj forKey:(NSString*)objectName
-(BOOL) convertArrayToXml:(NSArray*) arrInfo forKey:(NSString*)keyname
-(BOOL) convertDictionaryToXml:(NSMutableDictionary*) dictInfo forKey:(NSString*)keyname
-(BOOL) convertDictionaryToXml33:(NSMutableDictionary*) dictInfo


// 2016-04-19
display error aler if something fails when uploading from
- (void) handleNotification_UploadDone:(NSNotification*) note


// 2016-04-14
change command lines for new v3 Bamboo server version
-(NSDictionary*) findCodeIfExists:(NSString*)codeStr
-(NSDictionary*) findIDsIfExist:(NSString*)idStr
-(NSDictionary*) linkIDsToGroupNumber:(NSArray*)info withGroupCode:(NSString*)groupCode
NSArray* TPreviewImageWindow::FindIdOnWeb()


// 2016-03-29 remove all images to preserve memory when sending dictonary to processor
- (void) printImage:(NSMutableDictionary*) dict

do orientation based crop, allow for landscape crop in portrait images and vice versa
- (void) printImage:(NSMutableDictionary*) dict



// 2016-03-17

2. fix returning extension
CStr255_AC	getExtensionFromSourceFile(CStr255_AC	fileName)		// added 11-01-00

	if (extension==gEmptyString)
		extension = ".gen"; // 2016-03-17steve // extension = ".jpg";				// 2016-02-04

3. remove displaynormalmessage
bool TNikonCameraHandler::Check4NewFiles()
	// 2016-03-17steve DisplayNormalMessage("are we here?");

// 2016-03-14

1. fix issue with camera hot folder
OSErr TDummyCameraHandler::ProcessFunction4()
{	
	return noErr;	// 2016-03-14 return noErr;




// 2016-03-07
// 2016-03-08
change log file path
NSString* _gLogPath = @"~/Library/Logs/Teps";		// 2016-03-08

create separate dictionary buffer and increase size of dictionary  buffer to 32K
void TTEPSFileHandler::SetCurrentDictionaryBuffer(char	myBuffer[my32KBufferSize])	// 2016-03-07
void TTEPSFileHandler::GetCurrentDictionaryBuffer(char	myBuffer[my32KBufferSize])		// 2016-03-07
void TTEPSFileHandler::ResetCurrentDictionaryBuffer()						// 2016-03-07

// 2016-03-01
make Teps-X work with all images
- (void) issueDownloadFileCommand:(NSMutableDictionary*) dict
- (void) printImage:(NSMutableDictionary*) dict



// 2016-02-29 use Steve's function to determine orientation
- (void) printImage:(NSMutableDictionary*) dict
NSMutableDictionary* getImageProperty (NSString* path)		// 2016-02-29

implement zoom/shift for Bamboo images
void getZoomShiftInfoForBamboo(NSDictionary *imageInfo)	// 2016-02-29

// 2016-02-26
Send a Bamboo processor done confirmation when saving as original too
short TBGPrintView::CopyOriginalFileJob()		// 2012-07-13


// 2016-02-25 add LS suffix to package code when Landscape image received from Bamboo if pref is on
- (void) printImage:(NSMutableDictionary*) dict

appendLSSuffix

// 2016-02-22 do not use new browser for now
short	whatBrowserToUse()		// 2016-02-15

// 2016-02-22 do not use new Nikon stuff for now
OSErr TNikonCameraHandler::FindCamera()
OSErr TNikonCameraHandler::ProcessFunction13()	// 2016-02-09

// 2016-02-22 add smb file copy stuff to latest Teps
OSErr TTEPSFileHandler::SaveAndReturnSavedFSSpec(short vRefNum, long	parID, long	fileNumber, FSSpec *theFSSpec)



2016-02-11 - 2016-02-18
add support for new browser app through Teps helper plist
short TGeneralPrintHandler::Print()
void	jumpToBrowserApp()		// 2016-02-11
void	jumpToBrowserAppPOS(NSString	*custID)		// 2016-02-15
short	whatBrowserToUse()		// 2016-02-15
- (void)handleDistributedNotificationA:(NSNotification*)notification
- (void)doNikonAppNotifications:(NSDictionary*)dict		// 2016-02-02
void	jumpToEmailApplication(short index )


2016-02-01
2016-02-02
2016-02-04
2016-02-09
New El Capitan support for Nikon Camera's


2015-12-14
release memory when saving file through CGImageDestinationCreateWithURL
void saveCGImageRefToPath(CGImageRef	imageRef, NSString *path)
bool saveCGImageRefToPath(CGImageRef	imageRef, NSString *path, short fileType, float	imageQuality, short dpi)	// 2014-09-25

release CGImageRef when saving original image (rotated)
short 	TBGPrintView::SaveOriginalFileWithRotation ( FSSpec		fsSpec)		// 2015-08-27


2015-12-08
when jumping to email app pass marked image if in random number name mode and warn if no image marked
void	jumpToEmailApplication(short index )
void	jumpToEmailApp(bool	CK)		// 2011-10-11

reset userdata buffer when clearing queue with jobs
void TSessionPrintWindow::SendAllJobsToSpooler()

cut version and ticket number fieds out of meta data disctionary to have more space to embed new fields
bool	saveSourceWithMetadataSTB(NSString *path, char	pathToSave[1024])


// 2015-12-01
do NOT attempt to load invalid (blank) CK template 
void TSessionPrintWindow::SendAllJobsToSpooler()

check for package being greater or equal to zero
bool TSessionPrintWindow::DoesPackageHaveCD(long	packageNumber)	// 2010-11-19
bool TSessionPrintWindow::DoesPackageHaveMarkedOrAllImageItems(long	packageNumber)	// 2014-05-20
bool TSessionPrintWindow::DoesPackageHaveUSB(long	packageNumber)	// 2013-05-20
bool TSessionPrintWindow::DoesPackageHaveVideo(long	packageNumber)	// 2014-07-15



// 2015-11-30steve
// v17.9.18

// fix group code not resetting issue

			getCurrentInputHandler()->SetGroupCode("");				// 2015-11-30steve // 2015-11-28



// 2015-11-24
// v17.9.17
1. fix issue when checking hotfolder images created from SFTP ios app

bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01

				return NSStringFilePathToFSSpec(dstPath);						// 2015-11-24

FSSpec doCocoaServerCopy(FSSpec	srcFSSpec, FSSpec	destFS, CStr255_AC	fileName)				// 2015-11-24	// 2013-06-12
			dstFSSpec = doCocoaServerCopy ( *srcFSSpec, dstFSSpec, GetFullFileName(&dstFSSpec));			// 2015-11-24 return saved file




// 2015-11-19
// v17.9.16
1. use new concatPararm.sh script for new ffmpeg 2.8




// 2015-11-12 
let sort be determined by preference
bool TTeps2000Application::DoNewPreviewImages(bool chooseOne)		// 10-4-05 change from void to bool return type
void TTeps2000Application::StartDirectConnectWithoutCard()
bool TTEPSFileHandler::AddFilesFromCurrentFolder()		// 2010-06-07
bool TTEPSFileHandler::AddFilesFromCurrentFolderUnprocessedOnly()		// 2015-07-16

// 2015-11-10
match up Triprism and Triprism FF version
OSErr TGeneralPrintHandler::FinishWriteFloppy()		// 10-21-04
for IOWA
	if (getMyFlashCardWritePrefs()->useFlashCardWriter==false)	// 2015-11-10  only for iowa and owo stuff

// 2015-11-09 
make sure that CK image properties get copied over when using save original attribute
OSErr TTEPSFileHandler::SaveAndReturnSavedFSSpec(short vRefNum, long	parID, long	fileNumber, FSSpec *theFSSpec)

// 2015-11-08 
random file base name should be all characters before underscore
CStr255_AC	getRandomFileBaseNameForGroup(CStr255_AC	baseName)	// 2015-11-08
void TSessionPrintWindow::SendAllJobsToSpooler()

// 2015-11-06
use new loop mechanism to find .mp4 or .mov
void TSessionPrintWindow::SendAllJobsToSpooler()


// 2015-11-05
// v17.9.9


// 2015-11-04
// backup .mov in addition to .mp4
	CStr255_AC	baseCustomerID = customerID;		// 2015-11-04 preserve base customer id



// 2015-11-04
put back change from 10-29 from v17.9.6 version
to comment out ifdef
// 2015-11-04remove #ifndef #ifndef __TepsProcessor4TriprismVersion__





// 2015-10-30
use new loop mechanism to find .mp4 or .mov for play video notification
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)

make Triprism version go trough standard flash card stuff
OSErr TGeneralPrintHandler::FinishWriteFloppy()		// 10-21-04


// 2015-10-29
add a Command-S option to stop recording
void mySendVideoAppNotificationStopRecording()		// 2015-10-29
bool TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)

add video prefs to Teps-Triprism

remove video prefs from Teps-Share

send play video notification for pos and triprism only
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)


// 2015-10-27
retain NSString before returning it to calling function and release after final use
NSString* GetImageDataWithTag (NSString* imagePath, NSString* searchString)		// 2014-02-07
bool TImageFileObject::DoesImageHaveTag()		// 2014-02-07

// 2015-10-22
replace "What the heck"-message with more appropriate error message


// 2015-10-11
fix issue where Teps crashes when random name and no image marked
void TSessionPrintWindow::SendAllJobsToSpooler()


// 2015-10-10
				bool	useNewCKLoadMethod = true;	// 2015-10-10



// 2015-10-09
mechanism to save CK'd version of offscreen, commented out for now

// 2015-10-06
make Teps-Video app stuff in customer sitting mode available in Teps-Triprism version
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)
bool TPreviewImageWindow::ReadyToExit()		// 2014-08-11

add support for groupcode to be embedded in file to be uploaded using random number, Stb upload dictionary
bool	saveSourceWithMetadataSTB(NSString *path, char	pathToSave[1024])
void TSessionPrintWindow::SendAllJobsToSpooler()
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now, TView	*aView)

add pt5-2 and pt5-3 option for upload
bool	saveSourceWithMetadataSTB(NSString *path, char	pathToSave[1024])

// 2015-10-03
check for tepstriprism and processor triprism version to add apptype
- (bool) issueGetKeyCommand: (NSMutableDictionary*) param

// 2015-10-02steve put back in // 2015-07-22
check for apptype when requesting key from server

check for .mp4 and .mov 
OSErr TTEPSFileHandler::SaveAndReturnSavedFSSpec(short vRefNum, long	parID, long	fileNumber, FSSpec *theFSSpec)
bool	CheckForVideoFile(CStr255_AC	fullFileName, FSSpec	srcFSSpec, FSSpec	floppyFSSpec)

// 2015-09-29
use the correct dialog for Reconnect  1080 instead of 1093
OSErr TNikonCameraHandler::ReConnect()		// 9-13-04

do not allow click on Print Package button if no packages exist
OSErr TPreviewImageWindow::PrintPackage(short item, Boolean	spool, Boolean preview, Boolean now)

make sure external monitors are enabled before calling ClearImage (on external monitors)
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)

// 2015-08-27
make a change to rotate and save original file and save without orientation flag only when choosing JPEG for Web 
short 	TBGPrintView::SaveOriginalFileWithRotation ( FSSpec		fsSpec)		// 2015-08-27
CGImageRef createNewRotatedImageRef(CGImageRef	imageRef, int	orientation)	// 2015-08-27
short 	TBGPrintView::SaveOriginalFile ( FSSpec		fsSpec)		// 2012-07-13


// 2015-08-11
// 2015-08-10
create a function to clear preview on external window
OSErr TExternalVideoWindowServer::ClearImage()		// 2015-08-10

// 2015-08-06
// 2015-08-03
before sending order to MacPOS check if email exists and if yes, copy it to clipboard
-(NSDictionary*) checkForMatchingEmail:(NSString*)codeStr		// 2015-08-03
void TSessionPrintWindow::PrepareForSendJobsToSpooler()
TBarcodeAppPreferences


// 2015-07-27
mark images on entering operations window if flagged (with xml file)
void TImageFileObject::IImageFileObject(TFile *aFile, float rotation)

add option in base name window to add a suffix
void TStartSittingPrefObject::WriteMyBaseNameStruct(tBaseNameStruct	&data, CStream_AC	*astream)
void TStartSittingPrefObject::ReadMyBaseNameStruct(tBaseNameStruct	&data, CStream_AC	*astream)
void TImageFileObject::RenameFileWithsuffix()	// 2015-07-27


// 2015-07-16
// 2015-07-15
make option to only show Unprocessed files in thumbnail bar

// 2015-07-05
delete image after sending job to Processor

// 2015-06-29
add DNP DS-620 printer

// 2015-06-24
make a fix to Triprism FF version when clicking blank buttons, do not mark as processed 
OSErr TPreviewImageWindow::PrintPackage(short item, Boolean	spool, Boolean preview, Boolean now)

// 2015-06-18
make Teps-Triprism version work like FF with marking files inProcess
void TAdvanced2Preferences::DoPostCreate(TDocument	*aDocument)
void TNewOneUpPrefs::SetFactorySettings()
bool loadFromTemplateFileNew(tCKImageProperties	*ckProp, myCocoaImageColorAdjustInfo	*color, CStr255_AC	fileName)	// 2015-04-30
TPreviewImageWindow::~TPreviewImageWindow()
void TPreviewImageWindow::LoadNextImage()		// 2010-06-05
bool loadNewTemplateIfNecessary(TImageFileObject	*anObj, bool	throughDoubleClick)	// 2011-07-14 added 2nd argument
bool processedPhotoFile ( short pkgNumber, NSString* photoPath )


// 2015-06-16
void TReshapeRectCommand::DoIt()
add a CocoaContext seems to eliminate a crash

// 2015-06-09
post a menu command to skip to first unprocessed image on startup
bool TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)

unmark image if in process but not composed on returning to main
TPreviewImageWindow::~TPreviewImageWindow()


// 2015-06-01
add more logs to find out about more about "could not open destination file"-message, also try to recover with setPermission
short doCopyTheFileInChunks ( FSSpecPtr mySourceFSSpecPtr, FSSpecPtr myDestinFSSpecPtr, bool overwriteExisting)
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )


// 2015-05-26
control key down event in preview image will clear out all inProcess files
void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)

plus log showing if any files were actually in process but never composed
void unmarkFileIfInProcessButNotComposed(FSSpec	fileSpec)		// 2015-03-20


// 2015-05-25
Add logs to Teps-Processor to determine why some times files don't get saved
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )


// 2015-05-22
remove ThrowIfResError_AC to prevent Teps from jumping out of loop when loading image files into toolbar
		//ThrowIfResError_AC(); 2015-05-22 probably should not throw the error because it will cancel adding any other files to the list


// 2015-05-18
use last component of image path, in case it not only contains file name but path
- (void) issueDownloadFileCommand:(NSMutableDictionary*) dict

default remove after printing to FALSE for Teps Triprism FF version


// 2015-05-15
use sub dictionary for file name when down loading file to local folder to prevent issues with spaces (%20)
- (void) issueDownloadFileCommand:(NSMutableDictionary*) dict
release version 17.7.10


// 2015-05-14
fix an issue to check for inProcess field instead of wrotePackage to allow multiple production stations to work correctly
release version 17.7.9




release version 17.7.5

// 2015-04-23
add a pref to NOT use special FF file parse method to load ck category
openStandardFilesForFFTriprismVersion

// 2015-03-24
add error logs if AddResource fails
void SaveHandle(Handle InHandle,short theID,CStr255_AC Name, ResType theType)

// 2015-03-23
// 2015-03-20
// 2015-03-19
make mechanism for Teps-X Triprism FF version to mark a file as 'in process' and menu option to unmark allow// 2015-03-19
bool markAsInProcess ( NSString* photoPath )		// 2015-03-19
void unmarkFileIfInProcessButNotComposed(FSSpec	fileSpec)		// 2015-03-20


// 2015-03-17
// 2015-03-16
make a pref to not accept notifications
TBarcodeAppPreferences

// 2015-03-12
use NSDeviceRGBColorSpace instead of NSCalibratedRGBColorSpace to prevent color shift
-(CGImageRef) applyColorCorrection2:(unsigned char*) rasterData withSettings:(NSMutableDictionary*) settings
colorSpaceName:NSDeviceRGBColorSpace   //NSCalibratedRGBColorSpace	// NSDeviceRGBColorSpace	// NSCalibratedRGBColorSpace 


// 2015-03-12
create a feature in Teps-X Triprism FF to tag/lock the current image so ensure no two people are composing at the same time
void TPackageButtonView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 2015-03-03
change the sharpness settings to be less extreme
-(CGImageRef) applyColorCorrection2:(unsigned char*) rasterData withSettings:(NSMutableDictionary*) settings

// 2015-03-03
make a change to prevent error message in logs
TEPS-X Share(50386,0xa0c18540) malloc: *** error for object 0x14cc4200: pointer being freed was not allocated
TDropView::~TDropView()

// 2015-02-16
create Teps-Triprism FF target

// 2015-02-13
// 2015-02-12
load new CK template based on file name plus set category
bool loadNewTemplateIfNecessary(TImageFileObject	*anObj, bool	throughDoubleClick)	// 2011-07-14 added 2nd argument

// 2015-01-27
create a function to strip CK catagory from file name for WTC project
void getCategoryAndTemplateNameFromFileName(CStr255_AC fullFileName, CStr255_AC	&newCategory, CStr255_AC &newTemplateName)	// 2015-01-27


// 2015-02-10
add 2" cut for 6x4 and 6x8 for DS40 printer
update version number between Teps and Processor and between Processor and Print-Center

// 2015-01-22
// 2015-01-26
Use Steve's color adjustment class to allow for cleaner memory
ColorAdjustmentManager
CImageFile

// 17.3.40
// 2015-01-05
// 2014-13-30
fix for jen with extra redraw issue - prevent crash
pass false to SetZoomBoxFactor to prevent a double redraw each time an image is loaded
void TDropPreviewImage::LoadCKPropertiesFromFile()	// 10-19-04


// 17.3.39
// 2014-12-22
add even more logs for peter


// 17.6.38
// 2014-12-04
add more logs for peter


released 17.6.37 to Todd

// 2014-12-01
fix resource issue with base name and start value window

released 17.6.36

// 2014-11-25
add a pref to determine whether or not to copy the video file and pass it to Processor
void TPrintView::WriteHeader(CStream_AC	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, TFile	*aFile)	// 12-8-03
TVideoPrefObject
TVideoPrefs

// 2014-11-20
add the new script to merge video to allow for Teps and Processor to merge simutaneously


// 2014-11-18
allow for an empty package for the Grove if one of the email packages in the TepsHelper file so people can order e-mail only
short TGeneralPrintHandler::Print()

make a fix for 7100 camera and system greater then 10.9.5
void TNikonCameraHandler::SaveImage()


// 2014-11-16
pass option to merge video to teps processor and merge before saving .mp4.jpg file
void TPrintView::WriteHeader(CStream_AC	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, TFile	*aFile)	// 12-8-03
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )
short TBGPrintView::ReadObjects(FSSpec	fileSpec)


up version number between teps and processor


// 2014-11-13
fix Nikon 5200 camera for 10.9.5
void TNikonCameraHandler::SaveImage()

also copy video file to flash drive if not set for Keep as original
GWorldPtr TFloppyPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)


// 2014-11-11
add a PList file to enter package PLU's that will force jump to e-mail app
TEPS MISCELLANEOUS FOLDER /TEPS Helper Files/TEPSHelper.plist
short TGeneralPrintHandler::PrintPackage()
bool	isEmailPackage(short packageNumber)		// 2014-11-11
NSDictionary*	readTEPSDictionaryFile()		// 2014-11-11

// 2014-11-10
updated the concatPararm.sh script file

// 2014-11-10
support merging video files for flash writer
bool	CheckForVideoFile(CStr255_AC	fullFileName, FSSpec	srcFSSpec, FSSpec	floppyFSSpec)
int MergeVideos ( NSString *srcFilePath, NSString *outputFilePath )		// 2014-11-10

create new Cocoa function to delete previous contents of flash folder
void TGeneralPrintHandler::Prepare4WriteFloppy()	// 10-21-04
OSErr deleteFilesInFolderCocoa(FSSpec	theFSSpec)	// 2014-11-10

// 2014-11-07
on command-1 send movie file path to Video app if video exists
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)
void mySendVideoAppNotificationWithVideoFilePath(NSString	*path)		// 2014-11-07


// 2014-11-04
Copy the video file into the upload folder if a .mp4.jpg file is encountered
void TTEPSFileHandler::SetCurrentVideoFile(FSSpec srcFSSpec)	// 2014-11-03
OSErr TTEPSFileHandler::SaveAndReturnSavedFSSpec(short vRefNum, long	parID, long	fileNumber, FSSpec *theFSSpec)

Teps-Processor
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )
short TBGPrintView::ReadObjects(FSSpec	fileSpec)


// 2014-10-27
implement a feature to send a text string from Print Station to Teps through notification to be stored in an editable text (11) to print on a template
- (void)doPrintWebServerAppNotifications:(NSDictionary*)dict		// 2013-03-21


// 2014-10-23
if .mp4.jpg thumbnail selected copy .mp4 file to USB Flash card folder
bool	CheckForVideoFile(CStr255_AC	fullFileName, FSSpec	srcFSSpec, FSSpec	floppyFSSpec)
GWorldPtr TFloppyPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)

// 2014-10-22
use newer ATMPPR_MUID.m file to fix issue with random file name

// 2014-10-13
fix memory leak due to no CocoaContext
BOOL	isOldServerAPIVersion()		// 2013-11-05
bool setPermission ( const char *itemPath, UInt32 permMode )

fix memory resource for Sony UPD-R200 printer

// 2014-10-07
// 2014-10-07
clean up Teps memory

make sure slide show page drawing function is not re entered
short TSlideShowMainView::NextPage()


fix white image when doing Save Composition As
void TTepsPrintHandler::PrintToFile(GWorldPtr	outputOffScreen, CFSSpec_AC	fileSpec)


// 2014-09-25
copy changes from edwin to try to reduce leak
// 2014-09-23


// 2014-09-17
1. bring teps to front if auto aunch slide show is enabled
		if (getMySlideShowPrefs()->autoStartSlideShow)
		{
			
			MyBringApplicationToFront(kTeps2000CreatorID, 'APPL');		// 2014-09-17




// 2014-09-16
1. pos.plist use packagename for video instead of plu code
2. some other patch from edwin in validating package
bool TSessionPrintWindow::ValidatePackage(long	packageNumber, long	imageNumber)	// 2014-07-14

		if (getCurrentInputHandler()->GetNumberOfFiles() > 0)	// 2014-09-16


// 2014-09-15
add an option to insert a package
void TPackageEditWindow::WritePackage()
void TPackageWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	/*event*/)
void TPackageListView::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC	thePoint) 
void TPackageEditWindow::Close()
void InsertPackage(short	where)	// 2014-09-15

// 2014-09-10
fix count uploading for Phototouch version
- (bool) issueGetKeyCommand: (NSMutableDictionary*) param


// 2014-09-04
add a feature to play slide show with composed CK template in CK modes
CRect_AC TSlideShowView::DisplayImage(short	imageNum, GWorldPtr	gworld) 
TSlideShowPrefs

// 2014-09-03
add a new feature to delete video files in sitting folders older then 'n' days when doing preview images
bool TTeps2000Application::DoNewPreviewImages(bool chooseOne)		// 10-4-05 change from void to bool return type
void deleteVideosInOldSittingFolders(short	numOfDays, bool warn)	// 2014-09-03
TPreviewWindowPrefs
	short			autoDeleteVideosInSittingFolders;	// 2014-09-02
	short			daysToDeleteVideosInSittingFolders;	// 2014-09-02


// 2014-08-22
add next customer button to dialog that warns if backup server can not be found
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)


2014-08-22steve
remove DisplayNormalMessage
			DisplayNormalMessage("Please stop the recording before moving on to next customer...");		// 2014-08-22steve

// 2014-08-22steve
remove line to always honor auto rotate pref

// 2014-08-21
backup video file even if there is no image file
bool	backupVideoFileAndThumbnail(CStr255_AC	customerID, tBackupFilesPtr	ptr)	// 2014-08-21

prevent excessive drawing, use pref for faster draw
void TDropPreviewImage::Prepare4Drawing(bool	forceRedraw) // 1-30-01 added bool forceRedraw default is true


// 2014-08-19
reset angle to 0 if 360 is passed to prevent thin white line
void DrawRotatedGWorld(short	angle, GWorldPtr		CurrPort, GWorldPtr		srcGWorld, CRect_AC			tempQDRect, short boxScaleValue)

make sure to set fLastRotationValue variable to prevent not being able to set to zero when clicking on arrows of scroll bar
void TNewCKToolWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

// 2014-08-18
fix DNP Printer resource

// 2014-08-12
fix isue with JPEG's in Teps-Processor and blank images
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )

allow to select video package even if current image is not an mp4 thumbnail
void TSessionPrintWindow::SendAllJobsToSpooler()
bool TSessionPrintWindow::ValidatePackage(long	packageNumber, long	imageNumber)	// 2014-07-14



// 2014-08-08
do not allow Teps to continue with backup and next customer until stop is pressed in Video app


// 2014-08-06
		// 2014-08-06steve - also copy corresponding movie thumbnail file
		tBaseName += ".jpg";
		ptocStrcpy(tCharFileName, tBaseName);
		pstrcpy(tSrcSpec.name, tBaseName);
		doNSCopyTheFile ( &tSrcSpec, &tCopyFSSpec, tCharFileName, true);

// 2014-08-04
On backing up also save Movie file for Teps-POS only
void TBackupFilesCommand::DoIt()

fix setPermission function to check if is Directory to pass 0777 instead of 0666
bool setPermission ( const char *itemPath, UInt32 permMode )



// 2014-07-10 - 2014-07-29
add STB changes to burn video's

// 2014-07-21
make fix to still open operations window if chooser pref file is corrupted
void TNamedStdPrintHandler::SetImageWindow(TPreviewImageWindow	*aWindow)

fix Gary's indexing template issue, enable number text to enter marked image number instead having to click many times

// 2014-07-21
fix Nikon 5300 for Mavericks
void TNikonCameraHandler::SaveImage()


// 2014-07-03
allow box to be scaled in special new mode for rotated images only
TImageObject
TDropPreviewImages
DrawRotatedGWorld

// 2014-06-30
add 2nd backup before Command-1 folder

void TStartSittingPrefs::GotoCopyImagePrefsWindow(tCopyImagesPref	*ptr)
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)


// 2014-06-03
allow for slashes '/' in file names when saving print to file
let save print to file functions use new CG Image file save function
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )
bool NewSaveOffscreenToFileNew ( short outputType,


// 2014-05-30
// 2014-05-29
replace saving TIFF, JPEG, PICT and PNG files with CGImage version for Save Composition As
void TTepsPrintHandler::PrintToFile(GWorldPtr	outputOffScreen, CFSSpec_AC	fileSpec)
bool saveCGImageRefToPath(CGImageRef	imageRef, NSString *path, short fileType, float	imageQuality)	// 2014-05-30


// 2014-05-29
// 2014-05-27
validate backup folder when doing "Backup image files before Command-1", do not allow to continue if server can not be mouted
and backup can not be done
bool validateMyBackupFolder(tBackupFilesPtr	ptr, short	which, CStr255_AC	&errorString)		// 2014-05-27
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)


// 2014-05-20
// 2014-05-22
add new Print uploader source to Teps project, create a flag, don't use as of yet


// 2014-05-20
do not auto rotate on printing is session printing mode when package contains current image only
bool TSessionPrintWindow::DoesPackageHaveMarkedOrAllImageItems(long	packageNumber)	// 2014-05-20
void TSessionPrintWindow::SendAllJobsToSpooler()



// 2014-05-14
make sure that sort by name matches Finder sort
bool TTeps2000Application::DoNewPreviewImages(bool chooseOne)		// 10-4-05 change from void to bool return type
NSComparisonResult finderSortWithLocale(id string1, id string2, void *locale)		// 2014-05-14
CompareResult_AC TImageFileList::Compare(const void*  item1,


// 2014-05-13
create a mode that prints image through special one up without inserting file in global file list
void TPrintView::FillInImageFSSpec4SpecialOneUpModePrint(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, 
void TTepsPrintHandler::DoSpecialOneUpModePrintWithDownloadedImage(short	imageNumber, Boolean now, bool stop, TView	*aView)


// 2014-05-08
// v17.5.7

Put files downloaded through Scipah in separate TepsPrintStationFolder
- (void) issueDownloadFileCommand:(NSMutableDictionary*) dict

Reset Scipah buffer after each print to get confirmation after REAl Scipah print only
- (void) printImage:(NSMutableDictionary*) dict




// 2014-04-29
v17.5.6
1. remove ediwns test resource file for get print count


// 2014-04-28
v17.5.5
1. copied new files from edwin to add 5x7 cut in half option for mitsu K60DW



// 2014-04-24
// 17.5.2

1. copy changes to fix major memory leak when writing compositon file to USBdrives

2. 




// 2014-04-14
change version number to 17.5.1

// 2014-03-28
make sure that reset button in chromaKey mode resets variable angle rotation
void TNewCKToolWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)



// 2014-03-25steve
// v17.3.32

1. fix issue with CameraHandler when writing out filename with "/" in it
			NSString *myFileName = CStr255ToNSString(fileName);
			myFileName = [myFileName stringByReplacingOccurrencesOfString: @"/" withString:@":"];
			dstPath = [dstPath stringByAppendingPathComponent:myFileName];

2. show more log
					NSLog(@"doCocoaServerCopy copyItemAtPath failed with error = %@", error);




// 2013-03-13
// v17.3.31
copy changes from edwin to trap GWorld error in processor for JED


// 2014-03-13
add scroll bar to drag and drop shift/zoom options
void TDragAndDropToolWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 2014-03-06
allow to embed source image profile into output print-to-file
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )
class TColorSyncPreferences


// 2014-03-04
fix issue with prefix when using camera connect to produce name without underscore
bool TCustomServerCopyHandler::GetFileName(long theNum, CStr255_AC	&fileName)


// 2014-03-04
do not warn if no ip address is entered when checking for server version
-(NSString*) testForEdwinGetServerVersion:(id)param

// 2014-02-27
also check for server version if ip address is entered to allow Freeze frame to use group code with v1 and v2 version
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)


// 2014-02-25
if ERROR is returned when checking for key reset print count to 0
BOOL	validateDictionary(NSMutableDictionary* aDictionary)		// 2013-09-16

flip image 180 degrees if meta data orientation return orientations==3
void DrawCGImageToGWorldFlip(CGImageRef		image, GWorldPtr		CurrPort, CGRect 				rectangle);		// 2014-02-25
GWorldPtr	TNewAllFilesHandler::GetPreviewImage()
GWorldPtr	TNewAllFilesHandler::GetFullSizeImage()
GWorldPtr	TNewAllFilesHandler::GetThumbNailImage()


// 2014-02-06
// 2014-02-07
add function to get tagged images, add 2 menu items to Image menu, mark/unmark tagged images
id GetImageDataWithTag (NSString* imagePath, NSString* searchString)		// 2014-02-07
bool TImageFileObject::DoesImageHaveTag()		// 2014-02-07
bool TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)
void TPreviewImageWindow::DoSetupMenus()

// 2014-02-03
// 2014-02-04
add new IsInvisibleFile function and use it to add prevent invisible files to be added to graphics or ck list in Maverick

bool IsInvisibleFile ( CInfoPBPtr pb, long dirID )	// 2014-02-03
CStr255_AC	getFileNameOfNextPictFileInFolder(FSSpec	theFSSpec, short	&startindex)
CStr255_AC	getFileNameOfNextCKFileInFolder(FSSpec	theFSSpec, short	&startindex)	// 1-26-07



// 2014-01-28
// v17.3.26.test1


// fix issue with oldtime color and quick zoom 
			if (isOldTimeColor)	
			{
				fViewOffscreen = myDisposeGWorld(fViewOffscreen);		// 2014-01-25 start from scratch
				this->Prepare4Drawing(false);							// 2014-01-25
				ConvertOffscreenToSepiaNew(fViewOffscreen, getMySepiatonePrefs()->fColorAdjustInfo, fViewOffscreen, kOldTimePhotoCanvasType);
			}


// 2014-01-24
// zero out counter after deactivating teps



// 2014-01-21
// build version for mitsu testing
//v17.3.27.BETA-mitsu




// 2014-01-02 display actual count left
Teps-Processor
void TPrintJobTaskManager::DoNextTask()
Teps-X
bool TGeneralPrintHandler::ValidateSecurityKey ( short printQuantity )

	
// 2013-12-31
add Mitsubish CP-K60DW printer


// 2013-12-19
add warning if print count gets below 300, both teps and processor
void TPrintJobTaskManager::DoNextTask()
void DisplayNormalMessageForceAlways(Str255 s)	// 2013-12-19
bool TGeneralPrintHandler::ValidateSecurityKey ( short printQuantity )


// 2013-12-12
// v17.3.24

1. add more logs to find out prefix issue



// 2013-12-05
// v17.3.23next

1. fix debuglog if FreezeFrameMacysVersion

2. try to fix random crash 




// 2013-12-02
// v17.3.22next

1. dont have too many debug nslogs for UPrintView.cp

static gVerboseFF = NO; // 2013-12-02steve

#ifdef __FreezeFrameVersion__
	#include "SalesStationPrefs.h"
	gVerboseFF = YES; // 2013-12-02steve
#endif

use void NSDebugLog (NSString*, ...)		// 2013-12-02steve
for all the debug stuff

in future - need to have a pref - to turn on/off
	so debug logs will all get echoed
	




// 2013-11-30
// v17.3.21
// fix macys version - for debug??

1. do not show numbers anymore at all during camerasStation countdown...

2. lots of logs to debug



// 2013-11-25
//fix macys version
fix issue with distorted overlay when using Landscape, swap coordinates
void TImageView::Draw(const CViewRect &area)




// 2013-11-21
use full size PNG file's as overlays
CGImageRef	getMyPortraitImageRef()			// 2012-11-27
CGImageRef	getMyLandscapeImageRef()		// 2012-11-27
slightly adjust views 1537 and 1539

add
int myFPrintf(void* crap, const char * __restrict format, ...)		// 2013-11-21
int myPrintf(const char * __restrict format, ...)					// 2013-11-21

call in canon camera handler

// 2013-11-19
add mac addres to temp file name when preparing file for Print-Center and also to new name for sending to Print Center
OSErr TSpoolerPrintView::WriteDataToFile(tPrintInfoStruct	*printInfo)						// 3-14-06


// 2013-11-12
check to make sure the same ticketnumber is not used from a previous day
		if (checkOnNetIfExists(CStr255ToNSString(fTicketString)))	// 2013-11-12

// 2013-11-11
fix UI not updating camera session count
CameraStationWindow.cp: 				++getMyCameraStationPrefs()->grabCounter;									// 2013-11-11
CameraStationWindow.cp: 			++getMyCameraStationPrefs()->saveCounter;							// 2013-11-11
CameraStationWindow.cp: 			++getMyCameraStationPrefs()->saveCounter;							// 2013-11-11
CameraStationWindow.cp: 		++getMyCameraStationPrefs()->sessionCounter;							// 2013-11-11


// 2013-11-08

increase font size programatically

add Red bar around number when less the 10 seconds left

reorganize window 

fix issue with finding images when first looking for _1 and then for _0001
bool TPreviewImageWindow::NewMacysSitting2(CStr255_AC	customer)		// 2010-10-14


// 2013-11-07
fix crash when double clicking on package button preview image

use Santa PNG if available

fix views to not seem editable


// 2013-11-04
// 2013-11-05
support old server api as well as new

// 2013-11-01
// v17.3.17
1. search for new wipics method too for macys version
	ticketNumber_00nn.jpg
	4-digit leading padded zeros


// 2013-10-31
add session count

test for old message too when getting group code
NSArray* TPreviewImageWindow::FindIdOnWeb()

fix NSLog crash 
webKeyInfoObject -(id) init


// 2013-10-08
1. fix issue with unable to find image for stb when .DS_Store file is in folder

// 2013-10-01
1. add more logs for webkey related stuff
2. even changed atmpprsecurity file

// 2013-10-01
// copy changes from 2013-09-26 for about box window and exipiration date string
// 2013-09-26
fix bug to show the correct expiration date if there is no internet connection
- (IBAction) handleSynchronizeAccountButton:(id)sender


// copy changes from 2013-09-19
// only overwrite the file if webinfojob is NOT nil
long	writePrintCountAndExpirationDateToFile(long	printCount, NSString	*expDate)
void writeCurrentDateToFile(NSString	*currentDate)		// 2012-12-03



// 2013-09-21 rebuild all targets
// v17.3.13

// 2013-09-18
// v17.3.13

// better validate function for dictionary from atmpprsecurityfile

BOOL validateDictionary(NSMutableDictionary* aDictionary)		// 2013-09-16


// fix prefix issue for noerr with custom4 name mode
	if (getMyInputPrefs()->enableCustomerOrderMode)			// 2013-09-13
	{
		extern CStr255_AC	getBaseNameBeforeUnderscore(CStr255_AC	baseName);
		CStr255_AC	baseName = getBaseNameBeforeUnderscore(oldFileName);
		CStr255_AC	ext = getExtensionFromSourceFile(oldFileName);
		bool		leadZeros = getBaseNamePrefPtr()->imageNumPadWithZeros;
		short		numOfZeros = getBaseNamePrefPtr()->imageNumMaxDigits;
		short		numOfFiles = getCurrentInputHandler()->GetNumberOfFiles();
		CStr255_AC	newName = FormFileName ( baseName, numOfFiles, ext, leadZeros, numOfZeros );
		nameStr = myStr+newName;
	}



// 2013-09-12 for serge event with smb server
1. save out the new prefs for the printTofileSet options of subfolders


// 2013-09-10
add support for no email required for STB
- (void)doEmailEntryAppNotifications:(NSDictionary*)dict		// 2011-10-11

pass new userdata with optin through to teps processor and embed in file
- (void)doEmailEntryAppNotifications:(NSDictionary*)dict		// 2011-10-11
void TTEPSFileHandler::SetEmailEntryBuffer(char	myBuffer[4096])		// 2013-09-10
void TTEPSFileHandler::GetEmailEntryBuffer(char	myBuffer[4096])		// 2013-09-10
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now, TView	*aView)
void TDropView::FillInImageFSSpec4BGPrinting(tNewCanvasSizes	*aCanvas, tPrintSettingsPtr	printSettings, bool now)

Teps-Processor
bool	saveSourceWithMetadataSTB(NSString *path, char	pathToSave[1024])
short TBGPrintView::ReadObjects(FSSpec	fileSpec)
void setEmailEntryBuffer(char buffer[4096])		// 2013-09-10


// 2013-09-06
// 2013-09-09
clean up print to file create sub folder items and create new one that you can customize
void goToPrint2FileItemPrefSettingsWindow(tPrint2FileItemPtr	ptr)
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )
short 	TBGPrintView::SaveOriginalFile ( FSSpec		fsSpec)		// 2012-07-13

change view 1803

// 2013-09-06

1. force permission to be 0666
	permMode = 0666; // 2013-09-06steve force permission for TextFile

2. only warn processor2 missing if NOT set ie NIL (as in first time)
				if (ReadAliasHandle(kPrintSpooler2AliasHandleID)!= nil) // 2013-09-06

// 2013-09-03
check for invisible processor job files using new CURLRef method
OSErr GetAllFilesInDirectory(short vRefNum, long dirID, short &filesInDir, TSortedFileList	*aList)
OSErr getAllFilesInNewDirectory(short vRefNum, long dirID, short &filesInDir, TSortedFileList	*aList)	// 12-3-03

fix issue with directory for 2d spooler folder, didn't resolve path correctly
long	getImageFolderFromSpoolerFolder(short	vRefNum, long parID)		// 2013-09-03
long	getJobFolderFromSpoolerFolder(short	vRefNum, long parID)			// 2013-09-03

// 2013-08-30
add 2nd processor folder pref and allow for jobs to be sent to it
void TPrintServerPrefs::DoPostCreate(TDocument	*aDocument)
TPrintServerPrefs::~TPrintServerPrefs()
void TPrintServerPrefs::SetSettings(tPrintServerPrefPtr	ptr)
void TPrintServerPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
OSErr createImageAndJobFolders2()	// 2013-08-30

void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now, TView	*aView)
void TPrintView::FillInImageFSSpec4BGPrintingNew(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, FSSpec	ckTemplate)
void  TTeps2000Application::InitializeApplication()
void TTepsPrintHandler::CreateJobFile4BackgroundPrinting(short	imageNumber, Boolean now, bool stop, TView	*aView)
bool TDropView::CreateJobFile4BackgroundPrinting(bool now)
void TDropView::FillInImageFSSpec4BGPrinting(tNewCanvasSizes	*aCanvas, tPrintSettingsPtr	printSettings, bool now)
short TDropView::WriteViewObjects(CStream_AC	*aStream, short	currentImage)	// 3-3-04
short TDropView::WriteViewObjectsNew(CStream_AC	*aStream, short	currentImage)	// 3-3-04



// 2013-08-29
add a option to choose spooler folder on a per canvas basis
void TCanvasPrefs::SetSettings()
void TCanvasPrefs::GetSettings()

copy key info file to Teps Log folder if dictionary object can not be read
webKeyInfoObject -(id) init



// 2013-08-16
do not delete job if we can not successfully save print to file
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )
short TSpoolerPrintView::PrepareForPrinter()
void TPrintJobTaskManager::DoError(short	theErr)


// 2013-08-06
prevent crash when trying to qui with print count window open
bool TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)

when getting excel spreadsheet file for print counts prompt for directory, default to current processor folder
void doNewTotalsFromDictionaryFile()	// 2012-07-03
void doNewTotalsAndWriteFile()	// 2012-02-10
CList_AC* getAllHiddenFilesInFolder(FSSpec	tmpFSSpec)		// 2013-08-06


// 2013-07-30
fix issue for Freeze Frame where marked images didnt show up in selection page
void TImageView::Draw(const CViewRect &area)

fix issue for Stb when doing Cancel Order
- (BOOL) doSetupImageDownloadThread:(NSMutableDictionary*)param
only use NSAlert for DisplayNormalMessage if in thread


// 2013-07-25
add NSArray to POS Helper file to check agains PLU and package name to jump to email app
bool	TSessionPrintWindow::CheckForEmailPackage()		// 2012-09-25


// 2013-07-23
make fix for overwriting existing when using attribute "Save Original file as IS"
short 	TBGPrintView::SaveOriginalFile ( FSSpec		fsSpec)		// 2012-07-13

// 2013-07-18
add some keys that were not copied when saving pref file for both Teps-X and Teps-Processor
NSMutableDictionary* CopyUserPreferencesToDictionary ( void )


// 2013-07-16
remove space from view resource 1240

prevent crash when using just spaces in customer id window
bool checkForSpacesOnly(CStr255_AC	theString)		// 2013-07-16
bool setCurrentStudent(CStr255_AC	theString)


// 2013-07-15
only send Cocoa Page setup if printer type is kChooser
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now, TView	*aView)
void TPrintView::FillInImageFSSpec4BGPrintingNew(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, FSSpec	ckTemplate)
void TDropView::FillInImageFSSpec4BGPrinting(tNewCanvasSizes	*aCanvas, tPrintSettingsPtr	printSettings, bool now)

Teps-Processor
add CocoaContext to 
short TBGPrintView::ReadObjects(FSSpec	fileSpec)

// 2013-07-11
implement processor cocoa printing and save page setup in Teps-X and pass on to Processor

use Cocoa to create Main Images Folder first time when create default folder is on
void  TTeps2000Application::InitializeApplication()


//2013-07-10steve
fix bug that caused displayNormalMessage to crash because it wasn't in the main thread


//2013-07-08
add overwrite existing files to print to file sets for name option containing filename
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )
TPrintToFileSetPrefs

change action to newImageToDisplayForPreviewer when sending notification to previewer app


//2013-06-17
make sure all print to file options are written and read
void myWritePrintToFilePrefs ( bool doSynchNow )	// 10-09-07 reprototype
void myReadPrintToFilePrefs()

validate path 5 - 8 at startup for Processor
void TBackgroundPrintApp::IBackgroundPrintApp()

set path default to 5, 6, 7,8 for set E, F, G, H
bool setMyPrintToFileItemPrefToFactoryDefaults ( tPrint2FileItemPtr	ptr, short	which)

// 2013-06-13 
add 4 more paths to Processor
void setAllPrintToFileSetPrefsToFactoryDefault()
void setAllPrintToFileSetPrefsToFactoryDefault()

fix issue with showing/ hiding text sttring if base name option is chosen
void TPrintToFileSetPrefs::SetSettings(tSpecialPrintToFilePrefPtr	ptr)


//2013-06-12
preserve creation date of original file when copying 
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01
void doCocoaServerCopy(FSSpec	srcFSSpec, FSSpec	destFS, CStr255_AC	fileName)		// 2013-06-12
void TPrintToFileSetPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


//2013-06-07
fix issue with duplicate images on usb when burning multiple packages in one session
void TSessionPrintWindow::SendAllJobsToSpooler()

//2013-06-06
fix crash when doing Command-1 in POS version with Teps-Previewer
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)


//2013-06-03
//2013-06-04
add 4 print to file sets
fix a bunch of printer resource strings

//2013-05-20 - 2013-05-30
make feature to burn one usb from multiple packages in one session
TGeneralPrintHandler::TGeneralPrintHandler()
void TGeneralPrintHandler::Prepare4WriteFloppy()	// 10-21-04
OSErr TGeneralPrintHandler::FinishWriteUSB()		// 2013-05-30
bool TSessionPrintWindow::DoesPackageHaveUSB(long	packageNumber)	// 2013-05-20
void TSessionPrintWindow::SendAllJobsToSpooler()

// 2013-05-28
change resource file for Teps-POS to allow for print package on return to main and before Command-1

make sure that certain notifications don't get called by Teps-Processor
- (void)handleDistributedNotificationA:(NSNotification*)notification

// 2013-05-22
NSDate* GetInternalPictureCaptureDate ( NSString *tempImagePath, const CFStringRef kNameOfDictionaryToUse, const CFStringRef kNameOfDateTimeProperty, bool doOverwrite )
fix issue with getting the correct time zone

// 2013-05-21
make sure that duplicate files get 'Copy' before extension
GWorldPtr TFloppyPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)

// 2013-05-17
add more logs for click counts
long	writePrintCountToFile(long	printCount) // recast to long


// 2013-04-29 from edwin



// 2013-04-16
add validation for customer id to prevent use of certain illegal characters
bool isValidFileName(CStr255_AC	myString)		// 2013-04-16
void TKeyEventBehavior::DoKeyEvent(TToolboxEvent* event)
bool setCurrentStudent(CStr255_AC	theString)

// 2013-04-15
fix text settings and stamp settings view, 1109 and 1111

// 2013-04-09
make pref to hide e-mail button from session print window
TBarcodeAppPreferences
void TTeps2000Application::DoTepsSettingsMenuItem()	// 10-09-07 use new name
void TSessionPrintWindow::DoPostCreate(TDocument	*aDocument)

// 2013-04-08
add PNG and do not resize PNG for web
void TBackgroundPrintApp::IBackgroundPrintApp()
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )
class TPrintToFileSetPrefs

// 2013-04-04
fix exclusion/junk mask issue being applied to wrong image when new images keep coming in
	fFileNumber = getCurrentInputHandler()->GetCurrentFile();		// 2013-04-04
void TJunkMaskView::SetObjects()	// 2010-02-23
void TJunkMaskView::GetObjects()

add pref to POS and Teps-Share to allow to autofill customer id with Random Hex String
view 1088


// 2013-03-21
void downloadImageAndSaveToFile(NSString	*urlPath, NSString	*ufileSavePath)		// 2013-03-21
download image from web url 

// 2013-03-19
add error logging to find out about zero key counts
webKeyInfoObject
-(id) init
long	writePrintCountToFile(long	printCount) // recast to long
long	readPrintCountFromFile( void ) // 2009-02-12steve force void


// 2013-03-07
using new color adjust for UPD-R150 and 200
TSonyPrinterPrefs
TUpdColorAdjustObject
void swapMyUpdColorAdjustInfo2 ( myUpdColorAdjustInfo2 &data, bool isMotorolaData )
void swapFromHost_MyCocoaImageColorAdjustInfoSettings ( myCocoaImageColorAdjustInfo &data, bool isMotorolaVersion )	// 2013-03-07
#define kBaseJobVersionNumber		0x0000844		// 2013-03-07
Teps-Processor
void	TSpoolerPrintView::ApplyColorSettings(short	printer)			// 3-14-06
bool	TSpoolerPrintView::ProcessOffscreenAndWriteToFile(tPrintInfoStruct	*printInfo)		// 3-14-06


// 2013-02-26
fix a bug when using teps with sales station version when printing jobs
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now, TView	*aView)

// 2013-02-25
// release as v17.1.16

// 2013-02-25
add a feature to set print priority for print to file set jobs when using option to print packages returning to main
void TPrintView::SaveJobFile(TFile	*aFile, bool	now, short imageNumber, CStr255_AC	nameStr)
TCanvasPrefs
bool TPreviewImageWindow::PrintSpecialPackage()	// 08-20-09
view 1045
MENU 1105


// 2013-02-21
fix bugs in writing out cocoa dictionaray files
add usb totals to print count out put
-(void) addToCounts:(long) quantity		which: (long) whichItem		printer: (long) whichPrinter  canvas: (long) whichCanvas
-(long) getUSBCount					// 2013-02-21
void doNewTotalsFromDictionaryFile()	// 2012-07-03


// 2013-02-19
add a pref to add a sequence number to random hex string
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01
TStartSittingPrefObject
TCustomFileNameWindow
void TCameraHandler::GetFileName(long theNum, CStr255_AC	&fileName)

// 2013-02-14
reformat date to use yyyy-MM-dd for outputting print counts
void doNewTotalsAndWriteFile()	// 2012-02-10


// 2013-02-12
implement new method to activate machine (was still using old way)
- (bool) activateThisMachine: (NSString*) serialNumber withLicense:(NSString*) licenseString withNickName:(NSString*)nickNameString

fix a bug in Triprism version that would send previous category ck templates to processor
void TVerticalCKFolderList::SetCategory(CStr255_AC		category)		// 4-28-08 add function

// 2013-02-11
allow for a range of dates to be entered to calculate print counts
void TPrintCountWindow::SetDateTotals(unsigned long	fromDate, unsigned long	toDate)	// 2013-02-11 update
view 2156


// 2013-02-07
address issue of changing color through popup (sepia B&W, etc) when using CK in operations window
void TDropPreviewImage::Draw(const CViewRect &area)
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03

fix issue that made ck template deafault back to original graphic when changing color setting (sepia B&W, etc)
void TFileOverlayObject::Set(COverlayDesc		*overlayDesc)	// 10-15-02
void TFileOverlayObject::SetNewFile(FSSpec	newFSSpec, CStr31_AC	category)
void TPreviewImageWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


fix a bug when doing CK using a Node
void TNodeViewObject::DoNewReadObjects(CStream_AC	*aStream)		// 10-31-03

change width for RX1 printer to 1920
CRect_AC	TSpoolerPrintView::GetOutputRect(tPrintInfoStruct	*printInfo)		// 8-23-06



// 2013-01-31
// v17.1.14


// 2013-01-31
fix crash in POS for missing check box
TBarcodeAppPref

fix image name+ck name output
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now, TView	*aView)

fix redraw issue at bottom of preferences window

// 2013-01-28steve
rename as v17.1.13
add auto fill random hex string pref for customer id number

// 2013-01-24steve
copy change from edwin to handle new "edtxt0n" field

NSString

// 2012-01-10steve
remove RX-1 dnp
rebuild to give to STB
rename as v17.1.12

MENU 1008 to have master list of printers to be allowed

fix issue for stb
where email was being save AFTER sending out printpackage command

	NSLog ( @"2013-01-10steve checking for email object...");

NSAttributedString


// 2013-01-07
// 2013-01-08
implement DNP DS-RX1 popups and paper sizes
MENU 2054
view 1828
void goToDNPDSRX1MediaSettingsWindow(tMediaTypePrefPtr	ptr)		// 2012-12-27
CRect_AC	TSpoolerPrintView::GetOutputRect(tPrintInfoStruct	*printInfo)		// 8-23-06
bool	TSpoolerPrintView::ProcessOffscreenAndWriteToFile(tPrintInfoStruct	*printInfo)		// 3-14-06


// 2013-01-03
add a pref to turn on/off saving/reading of junk mask
bool	saveCurrentImageSettingsToFactoryDefault(FSSpec	fs)		// 2010-04-05
void readFromDefaultAndSaveToImage(FSSpec	fs)		// 2010-04-06
class TNewOneUpPrefs


// 2012-12-27
// 2012-12-28
Add DNP DS-RX1 printer

// 2012-12-20
create naming option image name plus ck template name
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now, TView	*aView)
void TPrintView::FillInImageFSSpec4BGPrintingNew(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, FSSpec	ckTemplate)
#define 	kImageAndCKTemplateNameType	7	// 2012-12-20
void TDropView::FillInImageFSSpec4BGPrinting(tNewCanvasSizes	*aCanvas, tPrintSettingsPtr	printSettings, bool now)
Processor
CStr255_AC	TBGPrintView::GetNewBaseNameForPrintToFile(tSpecialPrintToFilePrefPtr	ptr)	// 4-16-04

// 2012-12-17
for Macys version if two image marked show 2-up
void TImageView::DoMouseCommand(CViewPoint& theMouse, TToolboxEvent* event, CPoint_AC	thePoint)


// 2012-12-11
fix jumping to e-mail app with image in operations window and long file names
FSSpec	saveCKedVersion(FSSpec	fs)		// 2011-10-12


// 2012-12-10
implement server time/ system time comparison
setCurrentDateFromServerTime
bool checkForNetNew (bool forceInterNetCheck)

// 2012-12-06
 use new method to create NSString path
void	jumpToEmailApp(bool	CK)		// 2011-10-11

// 2012-12-04
fix densitometer for special one up mode
ResNumber TOneUpPreviewImage::GetCursorID()		// 2012-12-04

// 2012-12-06steve
// v17.1.8

1. fix issue with stb and email app and NOT in session printing mode with macPos
2. add logs to see why email.app cannot be launched

3. NEEEEEEEEED To Fix issue when ck/composite image needs to be sent to email.app


// 2012-11-29
v17.1.7
edwin - try to fix densitometer


// 2012-11-26
try to find out why randy long has prob with expiration date?

// 2012-11-01

add option to Nikon to search for newer types (5100) Nikon camera's and use new reconnect feature
TNikonCameraHandler::TNikonCameraHandler()
void TNikonCameraHandler::SetNewMultipleTypeCameraHandler(bool	setMultipleType)		// 2012-11-01
OSErr TNikonCameraHandler::FindCamera()
OSErr TNikonCameraHandler::FindCameraNoMessage()		// 2012-11-01
OSErr TNikonCameraHandler::ReConnect()		// 9-13-04

make sure it doesn't try to get camera name when camera is disconnected
short TNikonCameraHandler::GetIconAndStatusText(CStr255_AC	&statusText)

// 2012-10-23
v17.1.5

// 2012-10-23
STB change 'do not open customer order window' to do not use customer purchase order window
do not allow window to be opened, do not write .i files if pref is on
void TPreviewImageWindow::DoSetupMenus()
void TSchoolPhotographyView::EndPreview(TImageFileObject	*anObject)
void TSchoolPhotographyView::BeginPreview(TImageFileObject	*anObject)

// 2012-10-23 first release to jen v17.1.4

fix camera direct connect mode
class TBasicImageView

fix zoom shift when zooming out


// 2012-10-16
apply zoom/shift color options to Macys 6 up and full screen
void TPreviewImageWindow::UpdateOffscreens(TImageFileObject	*obj, GWorldPtr	offscreen)		// 2012-10-16
void TOneUpPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TImageView::Draw(const CViewRect &area)


// 2012-10-12
make new upload function for macys
bool	saveSourceWithMetadataPt5Plus(NSString *path, char	pathToSave[1024], char *archivedSittingInfoDictionary, long archiveLength ); // 2012-10-12
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )


// 2012-10-11
add feature to jump back to Macys mode from expert mode with current images by pressing Command-T
bool TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)
void TPreviewImageWindow::RepeatFreezeFrameMacysSitting()	// 2012-10-11


// 2012-10-09
create new function to link files to Random number (group)
void TPreviewImageWindow::LinkFilesToMyRandomGroupCode(TWindow	*aWindow)		// 2012-10-09
-(NSDictionary*) linkIDsToMyRandomGroupNumber:(NSArray*)info withGroupCode:(NSString*)groupCode		// 2012-10-09

add pref to use random number as group instead of group code generated by web
getMyMacysStartupPrefs()->useRandomNoAsGroupCode

add divider for Group code stamp
CStr255_AC TStampObject::GetStringToDraw4Printing()
bool TStampObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi)
TStampSettingsWindow


// 2012-10-04
add version to webKeyInfoObject Dictionary on activating machines
-(int) doActivateThisMachine:(id) param

macys version allow to add alternate ticket number when already in package select view
void TPreviewImageWindow::UpdatePackageViews(TWindow	*aWindow)		// 2012-10-04
void TPreviewImageWindow::CreatePackageViews(TWindow	*aWindow)		// 07-21-09

add filename plus overlays to one up preview Macys(double click)

// 2012-10-02
fix CD Write mutiple folder issue
OSErr TGeneralPrintHandler::FinishWriteCD()						// 9-28-06
BOOL myCocoaCopyFiles ( NSString* sourcePath, NSString* destPath )
OSErr copyAllItemsInSrcDirectoryToDestinationCocoa(FSSpec	srcFSSpec, FSSpec	dstFSSpec)		// 2012-10-02


fix issue with Teps not writing correct files for ContentsForUsbFlashDrive folders
OSErr TGeneralPrintHandler::FinishWriteFloppy()		// 10-21-04

add option to Preview Images pref to sort files by creation date before entering operations window
TPreviewImagePrefs
bool TTeps2000Application::DoNewPreviewImages(bool chooseOne)		// 10-4-05 change from void to bool return type


// 2012-10-01
show the filename in full screen preview
view 1541

have the image show with the overlay in full screen preview
void TMySimplePreviewWindow::ShowImageFile(short	image)
void TMySimplePreviewWindow::DoPostCreate(TDocument	*aDocument)
TMySimplePreviewWindow::~TMySimplePreviewWindow()


embed meta data to orginal saved image files too
short 	TBGPrintView::SaveMetaDataToOriginalFile ( NSString *srcPath)		// 2012-09-28
short 	TBGPrintView::SaveOriginalFile ( FSSpec		fsSpec)		// 2012-07-13

view 1264
remove location id entry filed, add description and sample string


// 2012-09-30
up version number before releasing
#define kBaseJobVersionNumber		0x0000842		// 2012-09-30

// 2012-09-28
start working on embedding meta data if saving original file
short 	TBGPrintView::SaveMetaDataToOriginalFile ( NSString *srcPath)		// 2012-09-28


// 2012-09-25
pass email along and embed in file to be uploaded
bool	saveSourceWithMetadataSTB(NSString *path, char	pathToSave[1024])
- (void)doEmailEntryAppNotifications:(NSDictionary*)dict		// 2011-10-11
void TSessionPrintWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TSessionPrintWindow::JumpToMacPOS()	// 2012-09-25
bool	TSessionPrintWindow::CheckForEmailPackage()		// 2012-09-25
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now, TView	*aView)
void TDropView::FillInImageFSSpec4BGPrinting(tNewCanvasSizes	*aCanvas, tPrintSettingsPtr	printSettings, bool now)



// 2012-09-24
embed site and email to metadata for jpegForWeb uploads
bool	saveSourceWithMetadata(NSString *path, char	pathToSave[1024])

write key version ('POS' 'triprism' etc) to web info file
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName 
bool checkForNetNew (bool forceInterNetCheck)
-(void) setKeyVersion:(NSString*) version		// 2012-09-24



// 2012-09-21
implement doNotResizeJpegForWeb and upload site for print to file sets
TPrintToFileSetPrefs

implement separator fir 16 digit file name
TStampObject
TStampSettingsWindow

change price level feature for POS to kick in if OVER a certain price
void TSessionPrintWindow::PrepareForSendJobsToSpooler()



// 2012-09-20
jump to email app before sending job to macPOS
void TSessionPrintWindow::PrepareForSendJobsToSpooler()


// 2012-09-18
add random naming option (disabled in this version)
TCustomFileNameWindow
view 1264
void validateStartSittingPrefs(tStartSittingPrefPtr ptr)	// 2-5-01
TCameraHandler

// 2012-09-17
fix renaming issues in camera direct mode
void TImageFileObject::RenameFileWithprefix()	// 2012-05-10
void TDropPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject, void* changeData, 
void TN_UPThumbNailView::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
void TPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,



// 2012-09-01
// 2012-09-03
change log for Noerr to include more info
bool	writeLog(short	recType, short	printer, short canvas, short	package, short qty)		// 9-12-05
CStr255_AC TTEPSFileHandler::GetCurrentImageName()		// 2012-09-01

fix pc-card copy with prefix, always failed the first time
void TTeps2000Application::StartDirectConnectWithoutCard()


// 2012-08-17steve
// v17.0.2

1. put in new libprim50.a to fix issue with defocus value 1 or 2
	we were dividing the defocus value by 2 in low res preview otherwise image looked overBlurred
	




// released v17.0.1
//
// 2012-08-07
// 2012-08-09
Use Cocoa NSAlert for Dialog display

new feature for POS to display a dialog if a certain sales amount has not been reached
void TSessionPrintWindow::PrepareForSendJobsToSpooler()
NSDictionary*	readPOSDictionaryFile()		// 2012-08-06
file should be at this path: TEPS MISCELLANEOUS FOLDER /POS Helper Files/POSHelper.plist
  keys:
	- priceLevel1
	- string1ToDisplay
	

// 2012-08-06
OSErr	TNikonTypeNewCameraHandler2::FindCamera()
search modules up to Type0015 Module.bundle

// 2012-07-30
simplify printcountinfoobject

// 2012-07-27
fix camera name for TNikonTypeNewCameraHandler2
make following fuction virtual
void TNikonBaseCameraHandler::GetCameraInfo ( nikonCameraInfo &info )
overwrite it for TNikonTypeNewCameraHandler2

// 2012-07-26
enable new TNikonTypeNewCameraHandler2 camera handler for d5100
OSErr TNikonCameraHandler::FindCamera()


// 2012-07-24 edwin
finish changes with file paths
ContentsForUsbFlashDrive1
ContentsForCD1

// 2012-07-20 edwin
// 2012-07-23 edwin
new multiple path method to save secondary folder on usb flash card and cd
TCDWritePrefObject
TCDWritePreferences
void goToSaveFilePrefSettingsWindow(tSaveFilePrefPtr	ptr)
OSErr TGeneralPrintHandler::FinishWriteFloppy()		// 10-21-04
OSErr TGeneralPrintHandler::FinishWriteCD()						// 9-28-06
TFloppyWritePrefObject


// 2012-07-19 edwin
// 2012-07-17 edwin
update all changes from the 2.0 version
change default for exclusion mask

// 2012-07-13 edwin
// 2012-07-16 edwin
Create new option in attribute object to save original image for web
change class TAttributeObject
view resource 1135
class TAttributeSettingsWindow

short TBGPrintView::CopyOriginalFileJob()		// 2012-07-13
short 	TBGPrintView::SaveOriginalFile ( FSSpec		fsSpec)		// 2012-07-13
BOOL doCopyTheFileNew ( id param )
bool TImageObject::CopyOriginalFile(TBGPrintView	*theView)		// 2012-07-13
void TPrintJobTaskManager::DoNextTask()


// 2012-07-12 edwin
create checkbox for all objects to prevent printing in print-to-file mode
TEditTextObject, TDatabaseObject, TFileOverlayObject, TTransparentObject, TGroupPhotoObject

// 2012-07-12steve
v16.5.3 HSK-BetaONLY  Share for 10.5+

try to show more logs

photoAdController.m: static BOOL gDoVerbose = true; // 2012-07-12steve	false;	//true;	// 2009-04-03steve
photoAdController.m: 						if ( mDictionary && [mDictionary count] ) { // 2012-07-12steve - must have mDictionary!!!
photoAdController.m: 							NSLog ( @"WHAT??? mDictionary is NIL or empty????" ); // 2012-07-12steve
photoAdController.m: 							done = true; // 2012-07-12steve
photoAdController.m: 							// gotServerResponse = NO; // 2012-07-12steve
photoAdController.m: 			if (gDoVerbose) NSLog ( @"%@:%@ => parseXMLData returned:\n%@\n\n",self, NSStringFromSelector(_cmd), mDictionary ); // 2012-07-12steve
photoAdController.m: 			if ( mDictionary && [mDictionary count] ) // 2012-07-12steve - make sure theres something in the dictionary

// 2012-07-09
use new way of creating NSString path, to prevent issues with 
OSErr TPreviewImageWindow::PrintPackage(short item, Boolean	spool, Boolean preview, Boolean now)
void TPreviewImageWindow::LoadNextImage()		// 2010-06-05
void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)

fix preferences issue when going back to older version
void TStartSittingPrefObject::ReadFrom(CStream_AC	*astream)

// 2012-07-05steve
// v16.4.21
// fix issue with start sitting and scan id (withOUT apple-1 window)

				if (getMyInputPrefs()->enableValidation && (maxCopyLen != getMyInputPrefs()->numberOfDigits) )	// 2012-07-05steve

					sprintf(mesg, "Validation failed: expected %i digits, but got %i [A]", getMyInputPrefs()->numberOfDigits, maxCopyLen ); 
// 2012-07-05steve maxCopyLen and [A] so we know which one

// 2012-06-29 later that day
// added more logs after talking to steve crossman



// 2012-06-29steve around 3pm
// release as v16.4.19

// 2012-06-28
change prefix to allow for format string, 'myPrefix'_yyyy-MM-dd   'mySuffix'
void TImageFileObject::RenameFileWithprefix()	// 2012-05-10
NSString* formPrefixString ( NSString* prefixFormatString ) // 2012-06-28steve


add check box to text, stamp and back color object to prevent being used on print to file
TStampObject, TStampSettingsWindow, TTextObject, TTextSettingsWindow, TBackColorObject, TBackColorSettingsWindow
view 1109,1111,1131

remove line from script to start pos
open file \"_Start MacPOS\"\n\
void testCocoaScript1 ( void )

view 1406 - change button wording to macPOS instead of macPOSX

// 2012-06-22
add log to show incoming apple events
bool DoHandleDoScriptCommandFromMacPOSApp(CommandNumber	aCommandNumber, TAppleEvent* message, TAppleEvent* reply )

make change to allow for macPOS startup instead of macPOSX
read script from text file "launchPOS.txt" for those still using macPOSX
void testCocoaScript1 ( void )

set special Hig res upload variable to false after processing files
setSpecialHighresMacysUploadMode(false);		// 2012-06-22
void TSessionPrintWindow::SendAllJobsToSpooler()


// 2012-06-21
fix POS version so as to support marked images and all images through macPOS (for group codes)
void TSessionPrintWindow::SendAllJobsToSpooler()
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now, TView	*aView)

// 2012-06-11
// 2012-06-12
// 2012-06-14
implement primatte 5.0

2012-06-11
2012-06-12
create new feature for Freeze Frame to get a group code for each individual marked image and send it to Teps-Processor
id== TEPS-FF2
bool TPreviewImageWindow::GetGroupCodeForMarkedFilesAndSetToPrinter(short package)				// 2012-06-11
void TPackageButtonView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
add view resource 9018 to progress.rsrc


// 2012-06-08
implement new key site/method
NSString* sNewTepsKeyServicesDomain = @"ka.triprism.com";			// 2012-06-08

- (bool) issueGetKeyCommand: (NSMutableDictionary*) param

NSString* keyStringForCDsUsed = @"keyStringForCDsUsed";				// 2012-06-05
NSString* keyStringForUSBFlashUsed = @"keyStringForUSBFlashUsed";	// 2012-06-05
bool checkForNetNew (bool forceInterNetCheck)

@interface webKeyInfoObject : NSObject {
-(void) setCDCount:(long) CDCount;			// 2012-06-05
-(void) setUSBFlashCount:(long) flashCount;	// 2012-06-05
-(id) init
-(void) createNewDictionary
-(void) resetAllPrintCounts			// 2011-03-31
OSErr TGeneralPrintHandler::FinishWriteFloppy()		// 10-21-04
OSErr TGeneralPrintHandler::FinishWriteCD()						// 9-28-06
GWorldPtr TCDPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
short 	TCDPrintHandler::DoPrint(GWorldPtr	anOffscreen, Boolean	doPreview)
GWorldPtr TFloppyPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
short 	TFloppyPrintHandler::DoPrint(GWorldPtr	anOffscreen, Boolean	doPreview)

2012-06-07
make ip address field longer (63 characters from 31)
void TBarcodeAppPref::ReadFrom(CStream_AC	*aStream)
	CStr63_AC		ipAddress;										// 2012-06-07		2012-04-09

add ip address field to advanced prefs for POS version
view 1088

2012-06-06
do not append "transitstation" for full url
it's only for our internal server only


// 2012-06-01
Fix IN PROCESSOR UimageObject
fix JED version to crop correctly if using LS images
Boolean TImageObject::Draw4PrintingNew(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)	// 12-11-02

				//srcRect = myGetPortRect(fImage);				// 2012-06-01
				//dstRect = tempQDRect;

				if (fResizeMethod==kCropAndResizeImage)			// 2012-06-01
				{
					srcRect = ::CropAndResize(newCropRect, tempQDRect, kCropCenter);
					dstRect = tempQDRect;
				}
				else		// kResizeImageToFit
				{
					dstRect = ::ResizeToFit(tempQDRect, newCropRect);
					srcRect = newCropRect;
				}



// 2012-05-22
change host address for Freeze Frame to include transitstation
bool TPreviewImageWindow::LinkMarkedFilesToGroupCode()

	//[newController	setfHostAddress:[ipAdd	stringByAppendingString:@"/freezeframe.nafta"]];
	[newController	setfHostAddress:[ipAdd	stringByAppendingString:@"/transitstation"]];			// 2012-05-22
	
	/*CStr255_AC	ipAddress = "74.62.17.178:15950/transitstation/freezeframe.nafta";




// 2012-05-17
// v16.4.12

// 2012-05-14
create a special fast drawing option for Cary's 50+ up templates
void HandleShowPI(TView* theView,const CViewPoint& theMouse,TDataPackage* theDataPackage)
void TPreviewImageWindow::Show(bool state, bool redraw)
	short			specialFastDrawOption;				// 2012-05-14

	unsigned char	reserved[54];						// 2011-02-08
	
} tPreviewPrefStruct, *tPreviewPrefPtr, **tPreviewPrefHandle;


// 2012-05-14
// v16.4.11


// 2012-05-10
add an option to add prefix to a file
view 1264
void TCameraStatusWindow::DoUpdate(ChangeID_AC theChange,
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01
short TDummyCameraHandler::AddFilesToList4 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01
bool TMyCanonCameraHandler::CopyImageToFolder(FSSpec	*theFSSpec, bool	overwriteExisting)
bool TNikonCameraHandler::CopyImageToFolder(FSSpec	*theFSSpec, bool	overwriteExisting)
Start Sitting prefs

// 2012-04-30
make a change for Sales station app mode to not use image properties and work correctly if no ticket file
Teps-Processor
Boolean TImageObject::Draw4PrintingNew(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)	// 12-11-02
Teps-X
void PrintItem(NSMutableDictionary	*lineInfo1, NSArray * images, NSString	*customerID)


// 2012-04-20
// 2012-04-23
implement TTransparentObject to draw with CGImage

// 2012-04-17
added a check box to freeze frame picture window to select defaut image to load in preview image window
new class TChoosePictureWindow
void TPreviewImageWindow::CreateViewsForMarked(TWindow	*aWindow)		// 2012-03-29
IDType TPreviewImageWindow::ShowMarkedImagesToConfirm()	// 2012-03-29

view 1539 and 1543

// 2012-04-11

copied change from 2012-3-13
		// 2012-03-13
include "junk masks" and "exclusion masks" checkbox for apply current settings to all/marked images
void TTEPSFileHandler::ApplyCKSettingsToAllImages(tCKImageProperties	*saveProp, FSSpec	srcFS)	// 07-10-09
view resource 1813

copied change from 2012-3-06
reverse loop for delete image immediately after image comes in to work correctly
bool TDummyCameraHandler::Check4NewFiles()

// 2012-04-10
add MyRebootObject
void setupRelaunchTimer (void) 		// 2012-04-10
 defaulted for 7:00 AM

void relaunchApp()		// 2012-04-10
void  TTeps2000Application::InitializeApplication()

fix Macys to give error message if a Group Code can not be obtained
bool TPreviewImageWindow::LinkMarkedFilesToGroupCode()		// 2012-03-29

// 2012-04-09
add a pref to enter ip address

// 2012-04-05
// 2012-04-06
implement changes for Freeze Frame to link marked files to Group Code by using package with UPC Code 'TEPS-FF'
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now, TView	*aView)
void TPackageButtonView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
IDType TPreviewImageWindow::ShowMarkedImagesToConfirm()	// 2012-03-29
void setSpecialHighresMacysUploadMode(bool doHighResMacysMode)



// 2012-03-26
add e-mail app pref to determine whether to send original or composed image
void	jumpToEmailApp(bool	CK)		// 2011-10-11



// 2012-03-23steve
// v16.4.3

1. make tepEmailer.app work in NON-customer order mode
2. must assign PLU code to "TEPS-EMAIL"

void TPackageButtonView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

prevent crash when clicking on e-mail button if no image
void	jumpToEmailApp(bool	CK)		// 2011-10-11
short TPreviewImageWindow::GetCurrentImageInOperationsWindow()	// 2011-09-15




// 2012-03-21steve
// v16.4.2

1. make tepsEmailer.app work with tepsPhototouch app
#if (defined(kFreezeFrameMacysVersion))	// 2012-03-20



// v16.4.1
// 2012-02-28
check for 6x8 crop key if 5x7 key is not found
void getZoomShiftInfo(NSString *imageTicketFile)	// 2011-09-23

// 2012-02-13
write session id to secure web info data to prevent double decrement
bool checkForNetNew (bool forceInterNetCheck)
-(ATMPPR_SecureSettings*) settings		// 2012-02-13

change base SDK's to 10.6

// 2012-02-10
add source to write tab delimited daily print count file
void TPrintCountWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TPrintCountWindow::DoNewTotalsAndWriteFile()	// 2012-02-10

2012-02-09
use new atmsecurity class from tyler
webKeyInfoObject
- (void) dealloc		// 2012-02-09
-(id) init

add a check for Lion OS version before removing item
void TTeps2000Application::DoSetupMenus()



// 2012-02-06 fix Gary's bug that caused zoom scroll bar to jump
void TOneUpPreviewImage::UpdateToolWindowSettings()		// 5-19-04

remove 'quit and keep windows' menu item from Teps and Processor under Lion
void TTeps2000Application::DoSetupMenus()
void TBackgroundPrintApp::DoSetupMenus()



// 2012-02-03steve
1.prevent "repeat start sitting" from working when direct connect with Camera
		if (getMyInputPrefs()->input==kKodakDirect || getMyInputPrefs()->input==kNikonCameraInput || getMyInputPrefs()->input==kCanonCameraInput)	// 2012-02-03



// 2012-02-02steve

1. canon camera - save to both
		EdsUInt32 saveTo = kEdsSaveTo_Both; // 2012-02-02steve  kEdsSaveTo_Host;
		
2. prevent annoying messages when card is in the camera body
		case kEdsObjectEvent_VolumeInfoChanged: // 2012-02-02 - prevent annoying messages when card is in the camera body
		case kEdsObjectEvent_VolumeUpdateItems: // 2012-02-02
		case kEdsObjectEvent_FolderUpdateItems: // 2012-02-02
		case kEdsObjectEvent_DirItemCreated: // 2012-02-02
			NSLog(@"Inside handleObjectEvent=> Flash Card Event = [%i] = [0x%04x] ..." ); // 2012-02-02steve
			break;



// 2012-01-26?
// v16.3.26 for ashley

fix crash when doing auto rotate if there are multiple node objects
bool loadNewTemplateIfNecessary(TImageFileObject	*anObj, bool	throughDoubleClick)	// 2011-07-14 added 2nd argument

do NOT resave CK template with new sepia/bw/color value when going to Edit Chromakey Template form operations window
void TNodeViewObject::WriteToNew(CStream_AC* aStream)	// 10-15-02



// 2012-01-13
// v16.3.25 for ashley tepsShare


// 2012-01-10
1. add nil to end of array
							  userInfo:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"internal data failure",""), NSLocalizedDescriptionKey,
										NSLocalizedString(@"internal failure: persistent settings not a dictionary-class object",""), NSLocalizedFailureReasonErrorKey,nil] ];




// 2012-01-05
fix Ashley issue in special new mode when previewing different images
void TPreviewImageWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
short TImageObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi, CStr255_AC	&fileName)

fix compiling issue with NSDataWritingAtomic
+ (void)saveSettingsOrError:(NSError **)error

honor barcode length also if scanning
void TKeyEventBehavior::DoKeyEvent(TToolboxEvent* event)


// 2011-12-17steve
1. comment out all fatal()



// 2011-12-10steve
// v16.3.24

1. go to new domain to get teps security key info..

2. fix tyler's super long sleep??
            // 2011-12-10steve fatal(17);




// 2011-12-02
make fix to allow Macys to burn flash cards
void TGeneralPrintHandler::Prepare4WriteFloppy()	// 10-21-04
OSErr TGeneralPrintHandler::FinishWriteFloppy()		// 10-21-04
OSErr TGeneralPrintHandler::FinishWriteFlashCardForMacys()		// 2011-12-02
IDType TPreviewImageWindow::SelectPackageToBePrinted()	// 07-24-09 redo function

change package label
void TPackageEditWindow::DoPostCreate(TDocument	*aDocument)



// 2011-11-29steve
// v16.3.23
1. put in Teps.rsrc



// 2011-11-28steve
// v16.3.22
1. make changes to recover better from "cannot connect to server" for macys dbServer
2. fix issue where returning got valid group code even though it was not
		if ([myMessage	compare:@"Group Code(s) Found"]==NSOrderedSame) // 2011-11-28steve




// 2011-11-26steve
// copy changes from edwin to fix "blank" or bad group code due to some error from server
// clean up code to prevent memory leaks
			BOOL gotGroupCode = YES; // 2011-11-26steve




// 2011-11-22
// nextvers v16.3.20

1. for STB - remember last "starting number"
		FORCED for POS mode only - not to affect other customers
		
2. for STB - POS version - do not force startup operations mode
// 2011-11-22steve #if !(defined(__TepsXAmuseMatteVersion__) || defined(__TepsXRevenueVersion__))
	// 06-10-09 also set pref to 5 if 6
	if (ptr->startupMode>kNewSpecialCKMode) ptr->startupMode = kNewSpecialCKMode; // 2011-11-22steve // if (ptr->startupMode>kOneUpFillTemplateMode) ptr->startupMode = kOneUpFillTemplateMode;

	if (ptr->startupMode<kSinglePreviewMode) ptr->startupMode = kSinglePreviewMode;
// 2011-11-22steve #endif


// 2011-11-21
// released as v16.3.19
1. make teps work with TepsFlashWriter.app


// 2011-11-17 
fix differences between output canvas window and canvas settings window while in operations window
void TCanvasPrefs::SetSettings()
void TCanvasEditWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void EditCanvas(tNewCanvasSizes	*aNewCanvas)

fix a bunch of NSAutoreleasePool leaks
bool	hasValidPrintCountFile()		// 04-20-09
long	readPrintCountFromFile( void ) // 2009-02-12steve force void
-(bool) validateExpirationDate		// 2011-11-17

create a new Macys admin pref to do search mechanism over multiple days
TMacysStartupPrefs
bool TPreviewImageWindow::NewMacysSitting(CStr255_AC	customer)		// 10-14-05

// 2011-11-15 
fix to stop dragging immediately when coming from other app and clicking on image
void TOneUpPreviewImage::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC thePoint) 

new method of finding usb key with debug method checkbox pref
void TFindFlashCardWindow::DoPostCreate(TDocument	*aDocument)
bool TFindFlashCardWindow::DoIdle(IdlePhase	thePhase)
TFlashCardWritePrefs
view 1090


// 2011-11-14 
set privileges to read/write for everyone when writing Nikon files
bool TNikonCameraHandler::CopyImageToFolder(FSSpec	*theFSSpec, bool	overwriteExisting)

set privileges to read/write for everyone when writing customer info files
TFile	*createFileObject(FSSpec	&tmpFSSpec)

display error code if unable to open student order file
TFile	*createStudentOrderFile(FSSpec	tmpFSSpec)

remount server on doing start sitting
void TTeps2000Application::StartDirectConnectWithoutCard()


// 2011-11-12
// v16.3.5
1. fix for salesStationApp and package qty		
	aGeneralPrintHandler->fCanvasQuantityHasBeenSet = true;		// 2011-11-12 patch for santa version



// 2011-11-08steve
// v16.3.14
1. remove the real nikon debug message


// 2011-11-07
// rebuild as v16.3.13


// 2011-11-07
fix to make order summary print first page correctly
TOrderSummaryWindow
TMyStdPrintHandler
plus resource changes

// 2011-11-04steve
remove debug nikon message to user



// 2011-11-02steve
1. remove hardcoded ip address to freezeframe.nafta ans well no forced ip address either


//#ifdef __TepsXPOSVersion__		// 2011-10-27



// 2011-11-01
v16.3.12
1. always save images to customer flash folder first before writing files to usb flash


// 2011-11-01
use new CGImage crop method to crop images


// v16.3.11
1. fix issue with job tickets when current job has none, do NOT use previous one
2. updated resource Tepsx.rsrc so that macys' version shows dnp settings

// 2011-10-31
make a fix for amuseMatte cropping of images
Boolean TImageObject::Draw4PrintingNew(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)	// 12-11-02
CRect_AC	NSRectToCRect(NSRect	myBounds, NSPoint	imageSize)


// 2011-10-27
fix cache file issue
GWorldPtr createCacheFileForOffscreen(GWorldPtr	offscreen, FSSpec	tmpFSSpec, long creationDate, long modDate, CRect_AC	tmpRect)

allow for saving scaled original in non ck mode too
short TGeneralPrintHandler::ValidateForAttributeForTemplate ( FSSpec templateFSSpec )		// 2010-03-02
Teps-Processor
short TBGPrintView::DrawSpecialJob()		// 11-12-09

// 2011-10-25
remove new Nikon camera handler source for now
OSErr TNikonCameraHandler::FindCamera()

add extra step for amuseMatte version to write customer folder to flash card source folder by date to preserve a copy
also add an Alert asking to switch back to Teps-Salesstation after succesful write/eject
OSErr TGeneralPrintHandler::FinishWriteFloppy()		// 10-21-04

add a checkbox "Sales Station Use" to package window to allow for flash cards (all images) -->
void TPackageEditWindow::DoPostCreate(TDocument	*aDocument)

// 2011-10-24
bool	saveSourceWithMetadataMACYS(NSString *path, char	pathToSave[1024], char *archivedSittingInfoDictionary, long archiveLength )


// 2011-10-21
add mechanism for Macys version to write group code and ticket number to final output file for upload
void doSaveGroupCodeAndTicketNumberToCurrentBuffer(short counter)	// 2011-10-21


// 2011-10-20
added factory settings for DNP Printers for POS, MACYS and PhotoTouch version

Mitsubishi 3800,9800 and CPD70DW still missing in factory defaults


// 2011-10-18
fix customer order package quantities issue when mixing landscape and portrait images
void TPreviewImageWindow::SetCurrentImageUsed(TImageFileObject	*anObject)	// 2011-07-14

add Nikon camera class that will check for future modules
OSErr TNikonCameraHandler::FindCamera()
TNikonTypeNewCameraHandler2

// 2011-10-14
clean up notification classes
#define kTepsSalesStationNotification			@"tepsSalesStationNotification"		// 2011-10-14
#define kTepsEmailerNotification				@"tepsEmailerNotification"			// 2011-10-14
#define kTepsPreviewerNotification				@"TepsPreviewerNotification"		// 2011-10-14

// 2011-10-12
// 2011-10-13

create function to get Application name and use it to send app name with notifications
NSString	*getApplicationName();

add a preference to advanced prefs to determine whether to send original file or operations window image to email app
	ptr->sendWhatToEmailApp					= 1;					// 2011-10-13
void	jumpToEmailApp(bool	CK)		// 2011-10-11
FSSpec	saveCKedVersion(FSSpec	fs)		// 2011-10-12



// 2011-10-11
fix alpha channel issue if NO junk mask
bool doNewChromaKeyingEx(GWorldPtr	fgOffscreen, GWorldPtr	bgOffscreen, GWorldPtr	outOffscreen, tChromaKeySettings	*settings, bool	saveAlphaChannel,

fix issue which caused Teps-POS not to work in non session printing mode
void TGeneralPrintHandler::GetImageNumberToPrint(bool	dontCheckCanvas)

make dummy kiosk window button "Teps-Email" that will junp to e-mail app
void TPackageButtonView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void	jumpToEmailApp()		// 2011-10-11

receive notification from email app to print package x
- (void)doEmailEntryAppNotifications:(NSDictionary*)dict		// 2011-10-11


// 2011-10-10
send a notification from Teps-POS when a new sitting is started
void mySendPreviewerAppNotification(CStr255_AC	value)		// 2011-10-10
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)

do some testing with embedding source image profile to output (print to file) file
void embedSourceImageProfileInOutputFile(FSSpec	srcImageSpec, FSSpec	outputFileSpec)
is commented out for now

// 2011-10-06
setup notification center for e-mail app notifs
void  TTeps2000Application::InitializeApplication()


// 2011-10-04
fix issue with saving PNG files where junk mask was not processed in final output when saving alpha channel
void TPrimatteMgr2::DisplayImage2()		// 2011-10-04
OSErr doCompositeTest ( PIXEL *xfgPMPtr, PIXEL *xfinalCompPMPtr, long fSizeX, long fSizeY)		// 2011-10-04
bool doNewChromaKeyingEx(GWorldPtr	fgOffscreen, GWorldPtr	bgOffscreen, GWorldPtr	outOffscreen, tChromaKeySettings	*settings, bool	saveAlphaChannel,


// 2011-10-03
implement reading of editable texts
NSDictionary	*getDictionary(char	filePath[512])
void setEditableTextsFromArray(NSArray	*textArray)

change various NSLogs to more accurately will show what function they are called in

// 2011-09-30
send notification at startup to teps-sales station with an array containing packages that have a editable text
void mySendNotificationWithArray(NSMutableArray	*anArray)		// 2011-09-30
bool TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)



// 2011-09-29
prevent empty junk masks from being created, have a minimum of 3 points for free form
TJunkMaskView::TJunkMaskView()
void TJunkMaskView::EndFreeForm()		//12-18-09
void TJunkMaskView::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC	thePoint)
void TJunkMaskView::StartFreeForm()		//12-18-09


// 2011-09-23
read associated ticket files for zoom and shift info
void PrintItem(NSMutableDictionary	*lineInfo1, NSArray * images, NSString	*customerID)


// 2011-09-22
implement new source rectangle method for use with Teps-Sales Station zooming and shifting mechanism
void TImageObject::Get(CImageDesc		*imageDesc)
void TImageObject::Set(CImageDesc		*imageDesc)

Teps-Processor
Boolean TImageObject::Draw4PrintingNew(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)	// 12-11-02


// 2011-09-19
add ip address pref for Macys version
TMacysStartupPrefs

add mechanism to go back and forward through images when double clicking instead of cancel/continue only
TMySimplePreviewWindow
void TImageView::SetImageNum(short	imageNum)	// 2011-09-19



// 2011-09-16
do not launch emailer app if OFF
void  TTeps2000Application::InitializeApplication()

launch emailer after closing preferences window if pref is turned ON
void TTeps2000Application::DoTepsSettingsMenuItem()	// 10-09-07 use new name

send customer ID to in STB version when clicking e-mail button
void TSessionPrintWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

remove message if first character is a space
bool setCurrentStudent(CStr255_AC	theString)

// 2011-09-15
auto launch emailer app with new notification method

pass image path if send email after else pass "none"

// 2011-09-13
add e-mail entering option
getMyBarcodeAppPrefs()->getEmailAppMode
void mySendEmailNotification(CStr255_AC		str)		// 2011-09-13
void mySendEmailNotification(NSString	*imageFilePath)		// 2011-09-13
void launchEmailApp()	// 2011-09-13

void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)
bool TPreviewImageWindow::GetEmail(CStr255_AC	customerID)		// 2011-09-13

fixed an NSLog
	NSLog (@"getHasTriprismFeature returned: [%@]", [self getHasTriprismFeature]);


// 2011-08-30

remove
	// 2011-08-30steve testNotifs(); // 2011-07-19steve

// put back "Teps-X Share v14 Default Pref.plist" to the tepsShare target

// got new pref from toddJ for dnps



// 2011-08-15
copied changes from edwin
sessionPrintWindow.cp
void TSessionPrintWindow::SendAllJobsToSpooler()
				// 2011-08-09 add the next two lines to auto load image again before printing thus loading appropriate ck template
				TImageFileObject	*anObj = ((TImageFileObject*)getCurrentInputHandler()->GetFileList()->At(gSessionPrintRecords[0].imageNumber));
				((MDependable_AC*)getCurrentInputHandler()->GetFileList())->Changed(cImageDoubleClicked, anObj);




// 2011-08-01 
create separate key files for Macys and Triprism versions
#elif defined kFreezeFrameMacysVersion
	NSString* kWebKeyFileName = @".com.tpi.key.macy";	// 2011-08-01
#elif defined(__TepsProcessor4TriprismVersion__) || defined(__Teps4TriprismVersion__)
	NSString* kWebKeyFileName = @".com.tpi.key.triprism";	// 2011-08-01

create new functions to test for Macys and Triprism keys
- (NSString*) getHasMacysFeature
- (NSString*) getHasTriprismFeature
-(int) doCheckServerInfoNew:(NSMutableDictionary*) param


// 2011-07-28 
remove test code	
short TSpoolerPrintView::FinishJob()


// 2011-07-26
add a validation for the customer ID
bool setMyInputPrefToFactoryDefaults ( tInputPrefPtr ptr )
void validateInputPrefs(tInputPrefPtr 	ptr)	// 2-5-01

bool setCurrentStudent(CStr255_AC	theString)


// 2011-07-22
fix jump to editor by creating new createAlias function through shell script
int createAlias ( NSString* srcPath, NSString	*destPath)	// 2011-07-22
OSErr myJumpToImageEditorWithFile(FSSpec	fileToOpen)
void convertFileAndJump2ImageEditor(TImageFileObject	*anObject)		// 7-22-03

add 2 4x6's for DNP 40 6x8 paper
CRect_AC	TSpoolerPrintView::GetOutputRect(tPrintInfoStruct	*printInfo)		// 8-23-06
res MENU 2052

default Kodak printer settings to last Kodak printer selected for vendor version
void TKodakPrinterPrefs::DoPostCreate(TDocument	*aDocument)

disable jump to image editor for Kodak
void  TTeps2000Application::InitializeApplication()

remove 6 logs in getThisMachinesSerialNumber since they get called all the time
void getThisMachinesSerialNumber (CFStringRef *mySerialNumber )

remove 2 logs
OSErr GetValidFileFSSpec ( CStr255_AC newLongName, FSSpec *srcFSSpec, bool doCreate, bool doReplace )
7/22/11 3:44:34 PM [0x0-0x138138].com.triprism.tepsxKODAK[11225] GetValidFileFSSpec => FORCING dirFSSpec.parID = [28651234]
7/22/11 3:44:34 PM [0x0-0x138138].com.triprism.tepsxKODAK[11225] GetValidFileFSSpec => FSCreateFileUnicode1 Failed with ErrorCode = [-43] = [0xffffffd5]


// 2011-07-21steve
// v16.0.17

1. fix double printing issue
void TDropView::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
				// 2011-07-21 if (loadNewTemplateIfNecessary((TImageFileObject*)changeData)==true, false)	return;		// 2011-04-19 change to return
				if (loadNewTemplateIfNecessary((TImageFileObject*)changeData, false) == true) return; // 2011-07-21 // 2011-04-19 change to return


2. fix double printing issue
void HandleShowPI(TView* theView,const CViewPoint& theMouse,TDataPackage* theDataPackage)
	if (loadNewTemplateIfNecessary(((TPIPackage*)theDataPackage)->fIFObject, false)==false) // 2011-07-21


3. force true for demo1 in new ui
	ptr->demoMode1		= true;	// 2011-07-21 FORCED ON FOR Benihana // false;

4. fix problem wtih canon XS and t1i doubling up on file size
					if ( totalTransferred > maxSize ) // 2011-07-21steve for canonXS - somehow this is true
					{
						NSLog(@"2011-07-21steve WHAT??? totalTransferred[%i] > maxSize[%i]",totalTransferred,maxSize);
						done = true;
					}

6. display what the unknown canon settings names for popup - still need to finish




// 2011-07-19steve

// v16.0.16 for benihana installs with teps-phototouch

1. every hour report ip info server
#ifdef __TepsXPhotoAdVersion__		// 2011-07-19
		
		if (TickCount() - fLastTickCount > 60*60*60)
		{
			fLastTickCount = TickCount();
			
			bool	sendStatusCommand();
			sendStatusCommand();
		}
#endif		


2. make sure we use new shell script to get ip info withOUT verbosity

3. fix message after activation
						NSRunAlertPanel ( @"Web Server Returned the Message:",	// 2011-07-19steve

4. make it check every 4 hour instead
		if (TickCount() - fLastTickCount > 4*60*60*60)	// 2011-07-19steve





// 2011-07-18steve 
// v16.0.15
need to give version to stb to test



// 2011-07-18steve

try to use getTepsSystemInfo.sh instead of stringing together a bunch of nsstrings.




// 2011-07-15
create backup folder 7 for duplicate image feature
void TStartSittingPrefs::GotoCopyImagePrefsWindow(tCopyImagesPref	*ptr)
void TCustomCopyPrefWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TCustomCopyPrefWindow::GotoCustomizeBackupWindow(tBackupFilesStruct	*ptr, short	aliasID)			// 9-27-02
short	getAliasIDforBackupFolder(short index)						// 2-11-08
void TDropPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject, void* changeData, 

change view 1382
create new view 1384

// 2011-07-14
implement server copy for STB
void doServerCopy(FSSpec	srcFSSpec)		// 2011-07-14
void TDropPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject, void* changeData, 
getMyInputPrefs()->saveCopyOnServer

fix issue with auto print and auto switch templates
bool loadNewTemplateIfNecessary(TImageFileObject	*anObj, bool	throughDoubleClick)	// 2011-07-14 added 2nd argument
void TPreviewImageWindow::SetCurrentImageUsed(TImageFileObject	*anObject)	// 2011-07-14

remove spaces from any barcode or customer number added
void removeSpacesFromString(CStr255_AC	&theString)		// 2011-07-14
bool setCurrentStudent(CStr255_AC	theString)

// 2011-07-01
v16.0.14 next



2011-06-28steve
v16.0.13

2011-06-24
make sure default color sync profiles for Kodak exist
void setDefaultForKodak(short	currentPrinter)		// 2011-06-03

display profile name for 9810 and 6800 and 'not found' in description if default profile not found
void TColorSyncPreferences::SetSettings(tColorSyncPrefPtr	colorsyncPref)

give log messages in Processor whether color matching was successful or not
short TSpoolerPrintView::FinishJob()
bool matchInputAndOutput(GWorldPtr	outputOffScreen, tColorSyncPrefPtr	thePref, short	printerType)


make Nikon camera work with 10.5 compile by replacing all BOOL definition in Nikon files with NIKONBOOL
typedef	SWORD	NIKONBOOL;		// 2011-06-24


2011-06-22steve
try to get camera to acquire in the background
			// 2011-06-22steve DEBUG  if (anObject) SendOpenFileAppleEventToPreviewApp(tmpFS);



// 16.0.12 for kodak


// 2011-06-14
- (NSString*) getHasPosFeature
check 2 ways if it is a POS key type

update factory defaults for Kodak 6800/6850


next version 16.0.11

// 2011-06-10steve - kodak vendor version 

// 2011-06-10
fix issue with printer disappearing

comment out stuff in void TKodakPrinterPrefs::DoPostCreate(TDocument	*aDocument)

//	2011-06-10steve - see DeleteMenuItem(MAGetMenu(2044), 3); in uteps2000application
//#ifdef _TepsKodakVersion_							// 6-29-05
//	MenuHandle anListMenu = MAGetMenu(2044);
//	if (anListMenu)
//		DeleteMenuItem(anListMenu,3);
//#endif

added
		DeleteMenuItem(MAGetMenu(2044), 3);		// 2011-06-10steve - per edwin to remove 8500 from kodak printer prefs




// 2011-06-09
let Teps bring itself to the front after finding image through 'reveal in Teps'-option in Previewer app



// 2011-06-07
remove Kodak 8500 from Kodak version
void  TTeps2000Application::InitializeApplication()
void TKodakPrinterPrefs::DoPostCreate(TDocument	*aDocument)


// 2011-06-06
short TSpoolerPrintView::FinishJob()
GWorldPtr	ReadFile2(TFile	*aFile, short	imageSize, float	imageRotation, bool	&wasRotated)	// 11-19-01
do new colorsync profile method where if an image file has an embedded profile, it will be used as input profile

create new pref for POS version to determine whether or not to open previewer app
TBarcodeAppPreferences
openPreviewerApp
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)

// 2011-06-03
Set default for 9810 and 68xx if file not found by converting path to fssepc on validating colorsync prefs
void validateColorSyncPrefs ( tColorSyncPrefPtr ptr )		// 6-18-01
void setDefaultForKodak(short	currentPrinter)		// 2011-06-03
FSSpec	pathToFSSpec(NSString	*imageName)			// 2011-06-03
void myNewReadPrefs()


// 2011-06-02
set defaults for Kodak 86xx

get full file name without hex characters in profile list
CStr255_AC TProfileListView::GetText(const GridCell& aCell) const

// 2011-06-02
make alpha numeric sort work for file names > 31 characters
CompareResult_AC TSortedByNameFileList::Compare(const void* item1, const void* item2)  const

remove extra sort (images get sorted automatically when inserted in list)
void TTEPSFileHandler::InsertFilesFromReplyRecord(AEDescList selection)		// 11-5-07


// 2011-05-31
do not apply embedded profile for Kodak in Teps-Processor
CImageFile::CImageFile(FSRef *fileFSRef)

fix ImageFilter memory and file in use issues
- (void) dealloc
- (id) initWithImage:(CGImageRef)image
- (CGImageRef) createCGImage

set defaults and find factory profiles automatically for Kodak version
void TColorSyncPreferences::SetSettings(tColorSyncPrefPtr	colorsyncPref)


// 2011-05-26
send notification to hot folder app to start polling if pref is on
bool TDummyCameraHandler::Check4NewFiles()

receive apple event from Teps-Previewer to start new customer sitting and to find and load a certain customer
void TTeps2000Application::DoScriptCommand(CommandNumber aCommandNumber,

send notification to Teps-Previewer with POS App info
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)
void mySendAppInfoNotification()		// 2011-05-26

make menu command to switch to Teps-Previewer through Command-T
bool TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)

create a function to find and load a certain customer
void TPreviewImageWindow::FindImageAndLoad(CStr255_AC	fileName)	// 2011-05-26
void TDropPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject, void* changeData, 


// 2011-05-24
set Kodak project format settings to 3.2
import weak for EDSDK.framework

// 2011-05-10steve
v16.0.4 Kodak 10.5+

		// 2011-05-10steve fTStaticText1->SetText ( CString_AC("1993-2010"), kDontRedraw );	// 2010-09-09 2009-12-10steve // 09-12-07	// 3-25-03
		fTStaticText1->SetText ( CString_AC("2011"), kDontRedraw );	//2010-05-10steve 2010-09-09 2009-12-10steve // 09-12-07	// 3-25-03



// 2011-05-09
// v16.0.3 Kodak 10.5+

// from edwin to make the POS version accept bringToFront applecommand from teps-HOtFolder.app
#if  defined (__TepsXPOSVersion__)  || defined (__Teps4TriprismVersion__)	// 2011-05-09


// 2011-05-09steve
dont allow all images all pages
		DeleteMenuItem(MAGetMenu(1103), 3);		// 2011-05-09
		DeleteMenuItem(MAGetMenu(1103), 2);		// 2011-05-09
		DeleteMenuItem(MAGetMenu(1104), 2);		// 2011-05-09



// 2011-05-05
for vendor version set defaults for Kodak 8657 canvas

also remove unused items from popup in print toolbar window

startup in drag and drop mode
void validatePreviewPrefs ( tPreviewPrefPtr ptr )	// 6-18-01




// 2011-05-04steve
fix todd's problem with "space" in the version string
	if ( expDate) [webInfo setObject:expDate forKey:kExpirationDateKey]; //2011-05-04steve make sure object is not NIL	
	if ( email) [webInfo setObject:email forKey:kVendorEmailKey]; // 2011-05-04steve make sure object is not NIL	
CFStringRef CopySerialNumberNew (void) // 2011-05-04steve
			// 2011-05-04steve - for those empty or illegal values
			// May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: \n\n CopySerialNumber returned: [System Serial#]

	phpCommand = [phpCommand stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; // 2011-05-04steve

    // 2011-05-04steve [fCurrentStringValue setString:string];
    [fCurrentStringValue appendString:[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]]; // 2011-05-04steve NEED TO APPEND NOT setString



May 4 14:07:11 Todd-Johnson TEPS-X Share[3203]: 2011-03-15steve Inside CocoaContext::CocoaContext() created with firstOnEntry=[YES]
May 4 14:07:11 Todd-Johnson TEPS-X Share[3203]: NSDocumentController Info.plist warning: The values of CFBundleTypeRole entries must be 'Editor', 'Viewer', 'None', or 'Shell'.
May 4 14:07:11: --- last message repeated 9 times ---
May 4 14:07:11 Todd-Johnson TEPS-X Share[3203]: ===========================================================
May 4 14:07:11 Todd-Johnson TEPS-X Share[3203]: Macmini3,1 (i386)
May 4 14:07:11 Todd-Johnson TEPS-X Share[3203]: Mac OS: v10.6.7
May 4 14:07:11 Todd-Johnson TEPS-X Share[3203]: TEPS-X Share => v15.9.1 Share ubc
May 4 14:07:11 Todd-Johnson TEPS-X Share[3203]: ===========================================================
May 4 14:07:11 Todd-Johnson TEPS-X Share[3203]: Checking for Old Log Files to Delete...for daysOld = 0
May 4 14:07:11 Todd-Johnson TEPS-X Share[3203]: Checking for Old Log Files to Delete...Done.
May 4 14:07:12 Todd-Johnson TEPS-X Share[3203]: Created a new photoAdController instance3...
May 4 14:07:12 Todd-Johnson TEPS-X Share[3203]: photoAdController => doCheckServerInfo...
May 4 14:07:12 Todd-Johnson TEPS-X Share[3203]: getThisMachinesSerialNumber: [System Serial#]
May 4 14:07:12 Todd-Johnson TEPS-X Share[3203]: Created a new photoAdController instance...
May 4 14:07:13 Todd-Johnson TEPS-X Share[3203]: fRetKeyVersion is: [thr33w1zard5]
May 4 14:07:13 Todd-Johnson TEPS-X Share[3203]: Here's the Response...
May 4 14:07:13 Todd-Johnson TEPS-X Share[3203]: DONE>>>Finally Got Server Response
May 4 14:07:13 Todd-Johnson TEPS-X Share[3203]: getTermination returned: [false]
May 4 14:07:13 Todd-Johnson TEPS-X Share[3203]: getSerialNumber returned: [System Serial#]
May 4 14:07:13 Todd-Johnson TEPS-X Share[3203]: getKeyVersion returned: [thr33w1zard5]
May 4 14:07:13 Todd-Johnson TEPS-X Share[3203]: getPrintCount returned: [20000]
May 4 14:07:13 Todd-Johnson TEPS-X Share[3203]: getExpiration returned: [1329292800]
May 4 14:07:13 Todd-Johnson TEPS-X Share[3203]: verification was successful
May 4 14:07:13 Todd-Johnson TEPS-X Share[3203]: Got Valid Info From webServer - Recording CountValue...
May 4 14:07:13 Todd-Johnson TEPS-X Share[3203]: are we here or not3...
May 4 14:07:14 Todd-Johnson TEPS-X Share[3203]: Inside LoadFromTEPSXv14PreferencesFile
May 4 14:07:14 Todd-Johnson TEPS-X Share[3203]: Inside GetPathFromResourceFolderFromAppBundle
May 4 14:07:14 Todd-Johnson TEPS-X Share[3203]: resFileNameRef is [Teps-X Share v14 Default Pref.plist]
May 4 14:07:14 Todd-Johnson TEPS-X Share[3203]: pathRef is: [/Applications/TEPS OS X Share Folder/TEPS-X Share.app/Contents/Resources/Teps-X Share v14 Default Pref.plist]
May 4 14:07:14 Todd-Johnson TEPS-X Share[3203]: nsStringName is [/Applications/TEPS OS X Share Folder/TEPS-X Share.app/Contents/Resources/Teps-X Share v14 Default Pref.plist]
May 4 14:07:14 Todd-Johnson TEPS-X Share[3203]: Inside LoadFromNewPreferencesFile(NSString *selectedFile) => [/Applications/TEPS OS X Share Folder/TEPS-X Share.app/Contents/Resources/Teps-X Share v14 Default Pref.plist]
May 4 14:07:14 Todd-Johnson TEPS-X Share[3203]: NSFileHFSCreatorCode is [1414547834]!!!
May 4 14:07:14 Todd-Johnson TEPS-X Share[3203]: NSString Version is: [5450497a] = [1414547834]
May 4 14:07:14 Todd-Johnson TEPS-X Share[3203]: GOT the Correct Creator Code for this Preference File...
May 4 14:07:14 Todd-Johnson TEPS-X Share[3203]: Got the dictionary for [Teps-X v14 Prefs Dictionary]
May 4 14:07:15 Todd-Johnson TEPS-X Share[3203]: formatting string 54321

May 4 13:59:15: --- last message repeated 6 times ---
May 4 13:59:15 Todd-Johnson TEPS-X for Kodak[3185]: ===========================================================
May 4 13:59:15 Todd-Johnson TEPS-X for Kodak[3185]: Macmini3,1 (i386)
May 4 13:59:15 Todd-Johnson TEPS-X for Kodak[3185]: Mac OS: v10.6.7
May 4 13:59:15 Todd-Johnson TEPS-X for Kodak[3185]: TEPS-X for Kodak => v16.0.2 Kodak 10.5+ ubc
May 4 13:59:15 Todd-Johnson TEPS-X for Kodak[3185]: ===========================================================
May 4 13:59:15 Todd-Johnson TEPS-X for Kodak[3185]: Checking for Old Log Files to Delete...for daysOld = 0
May 4 13:59:15 Todd-Johnson TEPS-X for Kodak[3185]: Checking for Old Log Files to Delete...Done.
May 4 13:59:16 Todd-Johnson TEPS-X for Kodak[3185]: Inside checkForNetNew...
May 4 13:59:16 Todd-Johnson TEPS-X for Kodak[3185]: using persistent settings saved path "/var/tmp/.com.tpi.key.kdk"
May 4 13:59:16 Todd-Johnson TEPS-X for Kodak[3185]: photoAdController => init...
May 4 13:59:16 Todd-Johnson TEPS-X for Kodak[3185]: photoAdController => initialize...
May 4 13:59:16 Todd-Johnson TEPS-X for Kodak[3185]: mainpath is [/Volumes]
May 4 13:59:16 Todd-Johnson TEPS-X for Kodak[3185]: Macintosh XT HD
May 4 13:59:16 Todd-Johnson TEPS-X for Kodak[3185]: The newly Formatted name is: [/Volumes/Macintosh XT HD]
May 4 13:59:16 Todd-Johnson TEPS-X for Kodak[3185]: In standard C-String is:[/Volumes/Macintosh XT HD]
May 4 13:59:16 Todd-Johnson TEPS-X for Kodak[3185]: status statfs returned: 0
May 4 13:59:16 Todd-Johnson TEPS-X for Kodak[3185]: \n\n CopySerialNumber returned: [System Serial#]
May 4 13:59:16 Todd-Johnson TEPS-X for Kodak[3185]: checkForNetNew => Created a new photoAdController instance...
May 4 13:59:16 Todd-Johnson TEPS-X for Kodak[3185]: photoAdController => doCheckServerInfoNew:...
May 4 13:59:16 Todd-Johnson TEPS-X for Kodak[3185]: photoAdController => initialize...
May 4 13:59:16 Todd-Johnson TEPS-X for Kodak[3185]: -[photoAdController doCheckServerInfoNew:] => about to call doInitiateVerificationWithPhotoAdServerNew...
May 4 13:59:16 Todd-Johnson TEPS-X for Kodak[3185]: <photoAdController: 0x1191e20> => doSetupRunXMLThreadNew:...
May 4 13:59:16 Todd-Johnson TEPS-X for Kodak[3185]: photoAdController => issueGetKeyCommand:...
May 4 13:59:16 Todd-Johnson TEPS-X for Kodak[3185]: photoAdController:issueGetKeyCommand: => formmatted the string:\n[http://keyservices.triprism.com/index.php?fuseaction=keys.kodakkey&keypw=merlinw1zard&serno=SYSTEM SERIAL#]
May 4 13:59:16 Todd-Johnson TEPS-X for Kodak[3185]: <photoAdController: 0x1191e20> => sendUrlCommand:...with param = {\n keyStringForCKPrintsUsed = 0;\n keyStringForPrintCount = 0;\n keyStringForPrintsToFileUsed = 0;\n keyStringForPrintsToWebUsed = 0;\n keyStringForRealPrintsUsed = 0;\n phpCommand = "http://keyservices.triprism.com/index.php?fuseaction=keys.kodakkey&keypw=merlinw1zard&serno=SYSTEM SERIAL#";\n}
May 4 13:59:16 Todd-Johnson TEPS-X for Kodak[3185]: <photoAdController: 0x1191e20>:sendUrlCommand: the formatted url is nil???
May 4 13:59:17 Todd-Johnson TEPS-X for Kodak[3185]: Here's the Response...
May 4 13:59:17 Todd-Johnson TEPS-X for Kodak[3185]: DONE>>>Finally Got Server Response
May 4 13:59:17 Todd-Johnson TEPS-X for Kodak[3185]: getTermination is NIL???
May 4 13:59:17 Todd-Johnson TEPS-X for Kodak[3185]: getSerialNumber is NIL???
May 4 13:59:17 Todd-Johnson TEPS-X for Kodak[3185]: getKeyVersion is NIL???
May 4 13:59:17 Todd-Johnson TEPS-X for Kodak[3185]: getPrintCount is NIL???
May 4 13:59:17 Todd-Johnson TEPS-X for Kodak[3185]: getExpiration is NIL???
May 4 13:59:17 Todd-Johnson TEPS-X for Kodak[3185]: Got Valid Info From webServer - Recording CountValue...
May 4 13:59:17 Todd-Johnson TEPS-X for Kodak[3185]: An uncaught exception was raised
May 4 13:59:17 Todd-Johnson TEPS-X for Kodak[3185]: *** -[NSCFDictionary setObject:forKey:]: attempt to insert nil value (key: expirationDate)
May 4 13:59:17 Todd-Johnson TEPS-X for Kodak[3185]: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFDictionary setObject:forKey:]: attempt to insert nil value (key: expirationDate)'\n*** Call stack at first throw:\n(\n 0 CoreFoundation 0x97e946ba __raiseError + 410\n 1 libobjc.A.dylib 0x92866509 objc_exception_throw + 56\n 2 CoreFoundation 0x97e943e8 +[NSException raise:format:arguments:] + 136\n 3 CoreFoundation 0x97e9435a +[NSException raise:format:] + 58\n 4 Foundation 0x98a4f9f7 -[NSCFDictionary setObject:forKey:] + 261\n 5 TEPS-X for Kodak 0x00255ab2 -[webKeyInfoObject setExpirationDate:] + 78\n 6 TEPS-X for Kodak 0x00237678 _Z38writePrintCountAndExpirationDateToFilelP8NSString + 108\n 7 TEPS-X for Kodak 0x00237dab _Z14checkForNetNewb + 1093\n 8 TEPS-X for Kodak 0x00237e76 _Z12checkForNet3b + 24\n 9 TEPS-X for Kodak 0x00225bba _Z26doKeyCheckMethodForPhotoAdb + 24\n 10 TEPS-X for Kodak 0x000a11be _ZN20TTeps2000Application19CheckForSecurityKeyEv + 118\n 11 TEPS-X for Kodak 0x000a1213 _ZN20TTeps2000Application21InitializeApplicationEv + 83\n 12 TEPS-X for Kodak 0x000a2b7a _ZN20TTeps2000Application14DoInitialStateEv + 126\n 13 TEPS-X for Kodak 0x0028af41 _ZN11TDispatcher3RunEv + 47\n 14 TEPS-X for Kodak 0x0008ba82 main + 424\n 15 TEPS-X for Kodak 0x0000ba5a start + 54\n)
May 4 13:59:17 Todd-Johnson com.apple.launchd.peruser.501[124] ([0x0-0x191191].com.triprism.tepsxKODAK[3185]): Job appears to have crashed: Trace/BPT trap
May 4 13:59:18 Todd-Johnson ReportCrash[3189]: Saved crash report for TEPS-X for Kodak[3185] version v16.0.2 Kodak 10.5+ ubc (v16.0.2 Kodak 10.5+) to /Users/johnson/Library/Logs/DiagnosticReports/TEPS-X for Kodak_2011-05-04-135918_Todd-Johnson.crash
May 4 13:59:28 Todd-Johnson TEPS-X for Kodak[3190]: 2011-03-15steve Inside CocoaContext::CocoaContext() created with firstOnEntry=[YES]
May 4 13:59:28 Todd-Johnson TEPS-X for Kodak[3190]: NSDocumentController Info.plist warning: The values of CFBundleTypeRole entries must be 'Editor', 'Viewer', 'None', or 'Shell'.
May 4 13:59:28: --- last message repeated 6 times ---
May 4 13:59:28 Todd-Johnson TEPS-X for Kodak[3190]: ===========================================================
May 4 13:59:28 Todd-Johnson TEPS-X for Kodak[3190]: Macmini3,1 (i386)
May 4 13:59:28 Todd-Johnson TEPS-X for Kodak[3190]: Mac OS: v10.6.7
May 4 13:59:28 Todd-Johnson TEPS-X for Kodak[3190]: TEPS-X for Kodak => v16.0.2 Kodak 10.5+ ubc
May 4 13:59:28 Todd-Johnson TEPS-X for Kodak[3190]: ===========================================================
May 4 13:59:28 Todd-Johnson TEPS-X for Kodak[3190]: Checking for Old Log Files to Delete...for daysOld = 0
May 4 13:59:28 Todd-Johnson TEPS-X for Kodak[3190]: Checking for Old Log Files to Delete...Done.
May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: Inside checkForNetNew...
May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: using persistent settings saved path "/var/tmp/.com.tpi.key.kdk"
May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: photoAdController => init...
May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: photoAdController => initialize...
May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: mainpath is [/Volumes]
May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: Macintosh XT HD
May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: The newly Formatted name is: [/Volumes/Macintosh XT HD]
May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: In standard C-String is:[/Volumes/Macintosh XT HD]
May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: status statfs returned: 0
May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: \n\n CopySerialNumber returned: [System Serial#]
May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: checkForNetNew => Created a new photoAdController instance...
May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: photoAdController => doCheckServerInfoNew:...
May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: photoAdController => initialize...
May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: -[photoAdController doCheckServerInfoNew:] => about to call doInitiateVerificationWithPhotoAdServerNew...
May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: <photoAdController: 0x116ef60> => doSetupRunXMLThreadNew:...
May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: photoAdController => issueGetKeyCommand:...
May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: photoAdController:issueGetKeyCommand: => formmatted the string:\n[http://keyservices.triprism.com/index.php?fuseaction=keys.kodakkey&keypw=merlinw1zard&serno=SYSTEM SERIAL#]
May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: <photoAdController: 0x116ef60> => sendUrlCommand:...with param = {\n keyStringForCKPrintsUsed = 0;\n keyStringForPrintCount = 0;\n keyStringForPrintsToFileUsed = 0;\n keyStringForPrintsToWebUsed = 0;\n keyStringForRealPrintsUsed = 0;\n phpCommand = "http://keyservices.triprism.com/index.php?fuseaction=keys.kodakkey&keypw=merlinw1zard&serno=SYSTEM SERIAL#";\n}
May 4 13:59:29 Todd-Johnson TEPS-X for Kodak[3190]: <photoAdController: 0x116ef60>:sendUrlCommand: the formatted url is nil???
May 4 13:59:30 Todd-Johnson TEPS-X for Kodak[3190]: Here's the Response...
May 4 13:59:30 Todd-Johnson TEPS-X for Kodak[3190]: DONE>>>Finally Got Server Response
May 4 13:59:30 Todd-Johnson TEPS-X for Kodak[3190]: getTermination is NIL???
May 4 13:59:30 Todd-Johnson TEPS-X for Kodak[3190]: getSerialNumber is NIL???
May 4 13:59:30 Todd-Johnson TEPS-X for Kodak[3190]: getKeyVersion is NIL???
May 4 13:59:30 Todd-Johnson TEPS-X for Kodak[3190]: getPrintCount is NIL???
May 4 13:59:30 Todd-Johnson TEPS-X for Kodak[3190]: getExpiration is NIL???
May 4 13:59:30 Todd-Johnson TEPS-X for Kodak[3190]: Got Valid Info From webServer - Recording CountValue...
May 4 13:59:30 Todd-Johnson TEPS-X for Kodak[3190]: An uncaught exception was raised
May 4 13:59:30 Todd-Johnson TEPS-X for Kodak[3190]: *** -[NSCFDictionary setObject:forKey:]: attempt to insert nil value (key: expirationDate)
May 4 13:59:30 Todd-Johnson TEPS-X for Kodak[3190]: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFDictionary setObject:forKey:]: attempt to insert nil value (key: expirationDate)'\n*** Call stack at first throw:\n(\n 0 CoreFoundation 0x97e946ba __raiseError + 410\n 1 libobjc.A.dylib 0x92866509 objc_exception_throw + 56\n 2 CoreFoundation 0x97e943e8 +[NSException raise:format:arguments:] + 136\n 3 CoreFoundation 0x97e9435a +[NSException raise:format:] + 58\n 4 Foundation 0x98a4f9f7 -[NSCFDictionary setObject:forKey:] + 261\n 5 TEPS-X for Kodak 0x00255ab2 -[webKeyInfoObject setExpirationDate:] + 78\n 6 TEPS-X for Kodak 0x00237678 _Z38writePrintCountAndExpirationDateToFilelP8NSString + 108\n 7 TEPS-X for Kodak 0x00237dab _Z14checkForNetNewb + 1093\n 8 TEPS-X for Kodak 0x00237e76 _Z12checkForNet3b + 24\n 9 TEPS-X for Kodak 0x00225bba _Z26doKeyCheckMethodForPhotoAdb + 24\n 10 TEPS-X for Kodak 0x000a11be _ZN20TTeps2000Application19CheckForSecurityKeyEv + 118\n 11 TEPS-X for Kodak 0x000a1213 _ZN20TTeps2000Application21InitializeApplicationEv + 83\n 12 TEPS-X for Kodak 0x000a2b7a _ZN20TTeps2000Application14DoInitialStateEv + 126\n 13 TEPS-X for Kodak 0x0028af41 _ZN11TDispatcher3RunEv + 47\n 14 TEPS-X for Kodak 0x0008ba82 main + 424\n 15 TEPS-X for Kodak 0x0000ba5a start + 54\n)
May 4 13:59:30 Todd-Johnson com.apple.launchd.peruser.501[124] ([0x0-0x192192].com.triprism.tepsxKODAK[3190]): Job appears to have crashed: Trace/BPT trap
May 4 13:59:30 Todd-Johnson ReportCrash[3189]: Saved crash report for TEPS-X for Kodak[3190] version v16.0.2 Kodak 10.5+ ubc (v16.0.2 Kodak 10.5+) to /Users/johnson/Library/Logs/DiagnosticReports/TEPS-X for Kodak_2011-05-04-135930_Todd-Johnson.crash


// 2011-05-02
send messages back and forth between Teps-X and Teps-Processor to update key count
void TBackgroundPrintApp::DoScriptCommand(CommandNumber aCommandNumber,
void TTeps2000Application::DoScriptCommand(CommandNumber aCommandNumber,
short ProcessClickCountAfterPrint ( TTepsSuperProKey* ptr, short printQuantity )
OSErr mySendKeyEventToProcessor()	// 2011-05-02



// 2011-04-29steve

1. fix issue with not getting correct internal kodak vendor templates

2. fix printCount not being formed in php command

3. always read printcount from file first

4. fix england external monitor for quickZoom and hires zoom (preview canvas never had stamp)

5. maintain consistency for longs

get todd J to add "Default ChromaKey Template"
8657 templates needed
kodak splash?






// 2011-04-28steve (later)
clean up more after get back project from edwin
moved webKeyInfoObject outside of phototAdController class

added licenseCode to webKeyInfoObject


			resetPrintQty();	// 2011-04-28steve ASK EDWIN??????? why is writePrintCountAndExpirationDateToFile in #ifdef below????


bool checkForNet3 (bool forceInterNetCheck)
{
	bool val = checkForNetNew(forceInterNetCheck); // 2011-04-28steve
	return val;
	

bool checkForNetNew (bool forceInterNetCheck)
-(int) doCheckServerInfoNew:(NSMutableDictionary*) param
- (BOOL) doInitiateVerificationWithPhotoAdServerNew:(NSMutableDictionary*)param // 2011-04-28steveNew
- (void) doSetupRunXMLThreadNew:(NSMutableDictionary*) param
- (bool) issueGetKeyCommand: (NSMutableDictionary*) param






// 2011-04-27steve

===> EDWIN - please look for YOUR name with above date

// ATMPPR_Security.m
#if defined __UsePhotoTouchResources__	// 2011-02-01 store to new file
	NSString* kWebKeyFileName = @".com.tpi.key.pt";	// 2011-04-26
#elif defined _TepsKodakVersion_
	NSString* kWebKeyFileName = @"com.tpi.key.kdk";	// 2011-04-27
#else
	NSString* kWebKeyFileName = @".com.tpi.key.tpi";	// 2011-04-27
#endif


// ATMPPR_Security.h
extern 	NSString* kWebKeyFileName;	// 2011-04-27


// photoAdController.m
// 2011-04-27steve
NSString* keyStringForSerialNumber = @"serialNumberString";
NSString* keyStringForLicense = @"licenseString";
NSString* keyStringForNickName = @"nickNameString";
NSString* keyStringForNSError = @"NSError";
NSString* keyStringForPhpCommand = @"phpCommand";
NSString* keyStringInfoDictionary = @"keyStringInfoDictionary";
NSString* keyStringForResult = @"result";

// 2011-02-02steve -let's put all in group here twice - see photoAdController.m file
#if defined __UsePhotoTouchResources__	// 2011-02-01 store to new file
	static NSString* kBaseURL = @"keyservices.phototouchinc.com";		// 2011-02-02steve
	static NSString* kGetKeyFuseAction = @"keys.getkey"; // 2011-04-27steve
#elif defined _TepsKodakVersion_
	static NSString* kBaseURL = @"keyservices.triprism.com";		// 2011-02-02steve
	static NSString* kGetKeyFuseAction = @"keys.kodakkey"; // 2011-04-27steve
#else
	static NSString* kBaseURL = @"keyservices.triprism.com";		// 2011-02-02steve
	static NSString* kGetKeyFuseAction = @"keys.getkey"; // 2011-04-27steve
#endif

static NSString* kPrivateVarTmpPath = @"/private/var/tmp"; // 2011-04-27steve
#define kWebKeyFilePath [kPrivateVarTmpPath stringByAppendingPathComponent:kWebKeyFileName]



bool	hasValidPrintCountFile()		// 04-20-09
	status =[fileManager fileExistsAtPath:kWebKeyFilePath]; // 2011-04-27steve ASK EDWIN???? what if ATMPPR_Security gets called first??

- (id) init
		// 2011-04-27steve make sure it's not blank
		NSString* tmp = [[NSString stringWithFormat:@"%@",mySerialNumber] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

-(void) dealloc

-(int) doActivateThisMachine:(id) param
		if ( YES==[self doActivateThisMachineFromPhotoAdServer:param] ) // 2011-04-27steve pass param


- (BOOL) doActivateThisMachineFromPhotoAdServer:(id)param
		[NSThread detachNewThreadSelector:@selector(doActivateThisMachineInThread:) toTarget:self withObject:param]; // 2011-04-27steve


- (void) doDeActivateThisMachineInThread:(id) sender
	[self deactivateThisMachine:fThisMacSerialNumber]; // 2011-04-27steve - getThisMachinesSerialNumber

- (void) doActivateThisMachineInThread:(id) param
/* 2011-04-27steve - ASK EDWIN WHY??? __UseServerKey__ why not ALWAYS


// webKeyInfoObject
-(NSString*) getRegisteredEmail // 2011-04-27steve





	NSString *phpCommandFormat = @"http://pab.findyourpictures.com/getkey.php?serno=%@";
	NSString *phpCommandFormat = @"http://ptbservices.phototouchinc.com/index.php?fuseaction=keys.getkey&serno=%@&keypw=merlinw1zard&printsused=%@&ckprintsused=%@";
//	NSString *phpCommandFormat = @"http://keyservices.triprism.com/index.php?fuseaction=keys.deletekey&keypw=merlinw1zard&serno=%@&";
// 2011-04-26
cleaned up photoadcontroller file

fix issue with reloading wrong images when changing color setting through sepia/B&W/old time photo popup
void TPreviewImageWindow::SetCurrentImagesUsed(CLongintList_AC	*theList)	// 4-19-04


// 2011-04-22
enable new about window for vendor version
void showAboutBoxCocoa ( void )
void showAboutBoxNew2 ( void )


new web key file name for vendor version
+(NSString *)internalDataStorePath

fix some crash issues with activating and deactivating
- (bool) deactivateThisMachine: (NSString*) serialNumber
- (bool) activateThisMachine: (NSString*) serialNumber withLicense:(NSString*) licenseString
- (bool) activateThisMachine: (NSString*) serialNumber withLicense:(NSString*) licenseString withNickName:(NSString*)nickNameString

fix some other issues (serial number) regarding new dictionary key file mechanism
-(bool) validateSerialNumber
- (IBAction) handleSynchronizeAccountButton:(id)sender
+ (void) freeInstance // 2011-04-22steve


// 2011-04-21
make Teps-X for Kodak version compile and run correctly



// 2011-04-19
hopefully fixed issue with rotating camera between portrait and landscape
void TDropView::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,

// 2011-04-18
add a gDoVerbose for new Dictionary key stuff, way to many debug messages

remove writing of dictionary to source directory
- (bool)parseXMLData:(NSData *)theData


// 2011-04-12
add backup before Command-1 option
void TStartSittingPrefs::GotoCopyImagePrefsWindow(tCopyImagesPref	*ptr)
void TCustomCopyPrefWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
short	getAliasIDforBackupFolder(short index)						// 2-11-08
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)
void TBackupFilesCommand::DoIt()

change view 1382 

fix searching for files by creation date with UK format
int setupTimeRangeInfo ( TWindow* aWindow )


// 2011-04-04
add Demo Slide button in operations window for phototouch and triprism versions only
void TPreviewImageWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)

find first file in "DemoSlides" folder and show it on external monitor (folder will be created if not exists)
void doDemoImage()		// 2011-04-04
#define		kDemoSlidesFolderName			"DemoSlides"	// 10-21-02


add lamination to tDNPPrinterSettings, default is glossy

view 1089

up version numbers
#define kBaseJobVersionNumber		0x0000841		// 2011-04-04

#define kPrinterSpoolerVer21			0x021b					// 2011-04-04
bool	TSpoolerPrintView::ProcessOffscreenAndWriteToFile(tPrintInfoStruct	*printInfo)		// 3-14-06


new dictionary key file method with separate counts for web, print to file, real printer


// 2011-03-28
create new hot folder app mode pref
	getMyInputPrefs()->hotFolderAppMode				= false;		// 2011-03-28
class TInputPreferences

on polling for folder modification change date check if Teps-Hot Folder app is running and if not launch it
bool TDummyCameraHandler::Check4NewFiles()
void LaunchHotFolderApp()		// 2011-03-28

add a Configure Hotfolder app button to utility window that will send notification to hot folder app
void TUtilitiesWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	/*event*/)
void mySendNotification(CStr255_AC		str)		// 2011-03-28

send quit notification
void TTeps2000Application::Close()



// 2011-03-24
create phototouch pref to select external monitor jpg file
getMyPhotoTouchPrefs()->fixedFile4ExternalMonitor

add cut mode for Mitsubishi D70
MENU 1098
void goToMitsubishiCPD70DWMediaSettingsWindow(tMediaTypePrefPtr	ptr)		// 2010-07-12

up the version number between Teps and Processor
#define kBaseJobVersionNumber 	0x0000840

up the version number between Processor and Print Center
#define kPrinterSpoolerVer20			0x021a

change the output rect, add 6x9
MENU 1092
CRect_AC	TSpoolerPrintView::GetOutputRect(tPrintInfoStruct	*printInfo)		// 8-23-06


// 2011-03-18
try to speed up loading images in the new special mode
void TDropView::LoadPage(short	pageNumber)


// 2011-02-28
fix bug where it did not apply shift and zoom to all images
void TDropView::CheckFirstDrag(TDropPreviewImage	*anImage)

added Color popup item
should fall through correctly automatically


// 2011-02-25
fix slow shift and zoom
doing faster zoom if getMyNewOneUpPrefs()->autoLoadImages is on
void TPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
void TDropPreviewImage::FastPreviewImage(TImageFileObject	*anObject, bool showProgress)	// 2011-02-25

create clear template button
void TChromakeyTemplateSelectWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)	// 2011-02-25


// 2011-02-24
reversion project as v15.8.1

last released was v15.7.16d Phototouch 



// 2011-02-24
fix issue with group photo's not being outlined after reselecting a folder, missing extension for Group photo files
void TImageFileObject::MarkAsStaticImage(short	newNum)	// 10-21-02

// 2011-02-15
create popup menu in operations window to allow for change to B&W, sepia, old time color if pref is set (nodes only)
new special mode only

void TNodeViewObject::Draw4Preview(GWorldPtr	outputOffscreen)
bool TNodeViewObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
void TNodeViewObject::WriteToNew(CStream_AC* aStream)	// 10-15-02
bool TNodeViewObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi, TView	*theView)
void TFileOverlayObject::Draw4DragAndDrop(TView	*view, float factor, CPoint_AC	topLeftPoint, short	rotation, 
									CPoint_AC	theSize, bool	isColor, bool	isMirror, short	conversionType)			// 2-5-07
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
TPreviewImageWindow::TPreviewImageWindow()
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)
void TPreviewImageWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

window 1042 change wording of pref

// 2011-02-08
// 2011-02-10
remove all references to Super Pro Key with new define
#define  __DoNoUseOldSuperProKeyStuff__ true				// 2011-02-08

remove sentinel.framework and superpro32.framework from targets

// 2011-02-08
create pref to select old time color option on the fly when clicking hires zoom
getMyPreviewPrefs()->promptForColorOptions
new window 1193
GWorldPtr TDropView::Draw4CKPrintingNew(short	dpi)	// 08-05-09
void TPreviewImageWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

// 2011-02-07
add a pref to auto load images into chroma key template (like in drag and drop mode)
view 1071
getMyNewOneUpPrefs()->autoLoadImages
void TDropView::CheckFirstDrag(TDropPreviewImage	*anImage)
void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)


// 2011-02-04
create pref to allow for not opening customer order window
add to input preferences
void TDropPreviewImage::SetSelected(bool	doSelect) 
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)

also add close box to customer order window to allow for closing it if opened through windows menu for example


// 2011-02-02
try to make it PREcompile and compile
change to 10.5
and use 10.5 macApp lib

no longer able to get 10.4 to compile


// 2011-01-31
Mitsubishi D70 print qty
view 1077
bool GetPrintQuantityFromPrefs ( short printerType, short &multiplierQuantity )

change color conversion popup to MENU 1094 (none or Normal)

create Vendor versions for Kodak


// 2011-01-28
make Teps and Processor for Sony compile
fix compile issue for Teps-X Share

// 2011-01-27
implement package quantity for Teps with Teps-Midway (always did quantity 1)
void PrintItem(NSMutableDictionary	*lineInfo1, NSArray * images, NSString	*customerID)
short TGeneralPrintHandler::Print()


// 2011-01-18
add PhotoTouch prefs to Teps-X Triprism app ad Advanced 2 Prefs
void RegisterMacAppClasses()
void myNewWritePrefs()
void myNewReadPrefs()

implement auto print package (copy from PhotoTouch)
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03

check out new 'create jpeg for web' option in Teps-Processor and clean up naming
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )

show right string for 'output files' and 'web upload' prefs
void TPreferencesListView::PrepareView(short	theNum)


// 2010-12-10
//copied from edwin

only show "email" button if app is in same folder as teps app
	// determine if e-mail app is there and if not disable e-mail button
	NSString* myAppPath = [[NSBundle mainBundle] bundlePath]; // launch ourself again - if no other app specified
	NSString* newAppPath = [[myAppPath stringByDeletingLastPathComponent] stringByAppendingPathComponent:@"Teps-EmailEntry.app"];
	BOOL exists = [[NSFileManager defaultManager] fileExistsAtPath:newAppPath];
	if ( exists == false)
	{
		if (FindSubView('emai'))
			((TView*)FindSubView('emai'))->Show(false, kDontRedraw);
	}





		// 2010-12-09 if read only at startup is on STILL get meta data rotation FIRST
		if (getMyNewOneUpPrefs()->readOnlyAtStartup && getMyInputPrefs()->useMetaData4Rotation)
		{
			FSRef fsref;
			if (FSpMakeFSRef(&(aFile->GetFileSpec()), &fsref) == noErr)
			{
				CImageFile	anImage(&fsref, true);
				int theNum = anImage.GetOrientation();
				
				if (theNum==1) 	rotation	= 0.0;
				if (theNum==6) 	rotation	= 90.0;
				if (theNum==8) 	rotation	= 270.0;
				
				fRotation = rotation;
			}
		}

// 2010-12-09steve 
// need to fix issue when serial number is Empty or NIL

	if (! ( serialNumber && [serialNumber length] ) ) // 2010-12-09steve
	{
		NSLog ( @"%@ => %@...CANNOT have NIL Serial Number...",[self class], NSStringFromSelector(_cmd) );
		[pool release];
		return false;
	}



// 2010-12-07
add TPLogFileManager to create seperate log files for teps and processor
void TBackgroundPrintApp::DoInitialState()
void TTeps2000Application::DoInitialState()

remove some excessive log messages
CreateRsrcFork
void saveCKPropertiesToFile(TFile	*aFile, tCKImageProperties	*prop)		// 6-22-04
Begin Resize end Resize
short betterResizeGworldToGworld ( GWorldPtr srcGworldPtr, Rect srcGworldBound, GWorldPtr destGworldPtr, Rect destGworldBound, short	resizeType, bool allowCancel)

fix an issue in Teps-Triprism with new pref getMyAdvanced2Prefs()->enableMutipleCKPrintMode
this pref should only be honored if in preview image window and new special mode
void TGeneralPrintHandler::GetImageNumberToPrint(bool	dontCheckCanvas)
short TGeneralPrintHandler::PrintCanvas()


// 2010-12-01
// fix thumbnail of CD when saving as original not going thru templates
			// 2010-12-01 get the thumbnail
			TImageFileObject	*obj = ((TImageFileObject*)(getCurrentInputHandler()->GetFileList()->At(imageNumber)));
			if (obj)
			{
				GWorldPtr	offscreen = obj->GetOffscreen();
				setCDOffscreen(myDuplicateGWorld(offscreen));
			}




// 2010-11-19
put e-mail button on session window 1404 to call apple script
void TSessionPrintWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)



// 2010-11-19
1. try to fix stb problem with cd not prompting or launching tepsDataBurn
2. try to fix stb problem with wrong images being printed or being burned on cd
	due to the items from macPos were being sorted.
	


// 2010-11-18
1. fix stb issue with session printing and mixing current/marked images in packages
2. remove displaynormalmessage 		//DisplayNormalMessage("are we here?");		// 2010-11-18 remove
3. fix jen's macys - view ui issue with msmaller monitors




// 2010-11-11
use script to copy Macys files over to USB flash drive
BOOL launchScriptWithParameters ( id parameters )
bool TPreviewImageWindow::BurnFlashFolder(FSSpec	fs)		// 2010-11-08

fix file name stamp bug
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now, TView	*aView)



bool TPreviewImageWindow::BurnCDFolder(FSSpec	fs)		// 10-12-05
{
#ifdef kFreezeFrameMacysVersion	// 2010-11-09
	if (getMySalesStationPrefs()->alwaysBurnUSBFlashDrive)	// 2010-11-08
		return BurnFlashFolder(fs);
#endif	


// 2010-11-08
start writing to flash card using the cd method

create new Sales station pref, always burn USB flash card
getMySalesStationPrefs()->alwaysBurnUSBFlashDrive
bool TPreviewImageWindow::BurnCDFolder(FSSpec	fs)		// 10-12-05
bool TPreviewImageWindow::BurnFlashFolder(FSSpec	fs)		// 2010-11-08

prevent invalid characters in camera station mode, digits only
IDType getCurrentCustomerMacys(CStr255_AC	&theString)		// 10-21-05


// 2010-11-05steve
// fix issue with find FlashDrive when in SNOW 10.6.4
bool GetOSVolumeType_IOKit ( short inVRefNum, eOSVolumeType &myVolumeType, eOSPortType &myPortType )
								if ( isSnowLeopard ) // 2010-11-05steve
								{
									// 2010-11-05steve - need to use this method for SNOW
									if ( (std::strcmp( theName, "IOFDiskPartitionScheme" ) == 0) )
									{
										identifiedVolumeType	= true;
										myVolumeType			= kOSVolType_CFlash;
									}
								}




TO ADD/REMOVE printer from list:
================================
had to add it again to MENU 1044 and 1008
printer setting resoruce?

// 2010-11-05
rename PNG to PNG for Web
MENU 1023

// 2010-11-04
fix saving path to png files
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )


// 2010-11-02
fix crash with compressed TIFF files
GWorldPtr getGWorldFromFileSpec(FSSpec	theFSSpec, short	&resolution)	// 1-2-03
GWorldPtr	TFileOverlayObject::GetFullSizeOverlayOffscreen()


remove 'done' button from Chromakey Select window for special new mode
view 2170

remove "\p" from error message to prevent funny characters
DisplayNormalMessage ( "SaveJobFile: Unable to write to job file name to disk!!!" );		// 2010-11-02


// 2010-11-01
do not allow funny characters and/or empty string
IDType setCurrentCustomerMacys(CStr255_AC	theString)		// 10-14-05

// 2010-10-29
fix issue where print count was deducted twice when starting processor and Teps-x at same time and slow connection
open print count file with exclusive write permission and do not close until server response
OSErr	readPrintQtyFromFile( long	&printCount, long	&ckCount)				// 2010-10-29
- (bool) testPhotoAdUrlCommand2: (NSString*) serialNumber


// 2010-10-26
fix issue when canvas type is all images even though it should not be for Macys
IDType TPreviewImageWindow::SelectPackageToBePrinted()	// 07-24-09 redo function


// 2010-10-25
fix rotation differences between camera station and sales station by writing 0 to properties
void TCameraStationWindow::SaveImageInTwoImagesMode()
also when copying locally
bool copyFromMasterFolder(FSSpec	tmpFS, CStr255_AC	folderName)

fix cd issues, mainly window issues
IDType TPreviewImageWindow::SelectPackageToBePrinted()	// 07-24-09 redo function
IDType TPreviewImageWindow::PollForCDImages(short	numOfJobs)		// 2010-10-25 change return type too // 10-11-05
void showCDImageThatWasBurned(CommandNumber aCommandNumber)		// 9-29-06



// 2010-10-21
if input is camera pc card force base name option to original name
void TTeps2000Application::StartDirectConnectWithoutCard()



// 2010-10-19
Macys fixes and changes to do 6 up
void TPreviewImageWindow::DoNewFreezeFrameMacysSitting(CStr255_AC	student)	// 10-7-05
IDType TPreviewImageWindow::ShowTwoUpImageView()	// 9-28-05
void TPreviewImageWindow::CreateViews2(TWindow	*aWindow)		// 2010-10-19
IDType TPreviewImageWindow::SelectPackageToBePrinted()	// 07-24-09 redo function

to do flash cards
GWorldPtr TFloppyPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
short 	TFloppyPrintHandler::DoPrint(GWorldPtr	anOffscreen, Boolean	doPreview)
short TGeneralPrintHandler::Print()
OSErr TGeneralPrintHandler::FinishWriteFloppy()		// 10-21-04
OSErr TGeneralPrintHandler::FinishWriteFloppy2()		// 2010-10-19
bool TGeneralPrintHandler::CheckForPrinterItemInOrder(short 	printerItem)	// 2010-10-19

hide unavailable package buttons
void TPackageSelectWindow::Setup()


// 2010-10-14
copied bunch of changes for the GetPrintCount for photoTouch and 3Am issue
also changed resources with new prefs...




// 2010-10-11steve
// fix double-swapping of the dataType in the processor job


// 2010-10-08
// v15.7.4
=======================

// 2010-10-08steve
// fix issue with meadowlands production being slow to get new production image

void findAndSetEditableText(TPredefinedStringHandler	*aHandler, CStr255_AC	key, CStr255_AC	value) // 2010-10-08 re-prototype

// 2010-10-07
// speedup processor when building jobs -
// remove updateAll Windows was taking too much time for nothing...







// 2010-10-04
// v15.7.3
=======================

fix issue with clear button when wanting to clear graphic in special one up mode
void TOneUpPreviewImage::SetGraphicsOffscreen(CStr255_AC	myCategory, CStr255_AC	myName)	// 3-17-08 change variable name

create option to print through Cocoa to solve issue with print dialog that stays up a long time when using print one
NamedStdPrintHandler.cp

// 2010-09-28
fix read file error when printing job from drag and drop mode
void TDropView::FillInImageFSSpec4BGPrinting(tNewCanvasSizes	*aCanvas, tPrintSettingsPtr	printSettings, bool now)

adjust scaling factor for defocus value since operationswindow/preview did not match actual print
void TPrimatteMgr2::DisplayImage ()


// 2010-09-27steve

// make kMitsubishiCPD70DW write out job with DOT Sequential
		case kMitsubishiCPD70DW:	// 2010-09-27steve - moved here with the others	
		case kDNPDS80:				// 2010-08-23steve
		case kDNPDS40:				// 2010-08-23steve 
			// printInfo->dataType = TEPS_FORMAT_PlanarRGB8;
			printInfo->dataType = TEPS_FORMAT_SeqRGB8; // 2010-08-23steve 
			return ProcessOffscreenAndWriteToFile(printInfo);
			break;


// 2010-09-27steve
//	DisableMenuItem(MAGetMenu(1008), 33); // 2010-08-24
//	DisableMenuItem(MAGetMenu(1044), 8); // 2010-08-24





// 2010-09-24steve - added test message
				{
					char mesg[255];
					memset(mesg,0,sizeof(mesg));
					sprintf ( mesg, "2010-09-24steve\nptr->limitSize4JPEGForWeb is %i", myLimit );
					// DisplayNormalMessage(mesg);
				}




// 2010-09-24
default limit jpeg for web size to 1050 for Teps-Processor Triprism version
void validatePrintToFileSetPrefs(tSpecialPrintToFilePrefPtr ptr)		// 6-13-01


force customer order mode
bool TTeps2000Application::DoNewPreviewImages(bool chooseOne)		// 10-4-05 change from void to bool return type
void TTeps2000Application::StartDirectConnectWithoutCard()


when saving in production station also pass background
short TPreviewImageWindow::SendToServerForProductionStation()		// 2010-08-27

change all uppercase GIANTS to Giants and same for JETS
void validatetMyNewOneUpPrefs ( tNewOneUpPrefPtr ptr )	// 10-11-04

// 2010-09-24
move up adding meta data so file is still in processor temp folder
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )


// 2010-09-23
allow for setup mode of ck template
add button to view 2161


Allow for a number to be entered for text size (6-9 too big of a jump)
void TEditTextSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TStampSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TTextSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TDatabaseSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
view 1030

// 2010-09-23steve
// copied changes from edwin
1. do not convert to Upper for triprism version
long addFoldersToPopup(FSSpec	tmpFSSpec, ResNumber	resID)	// 4-16-01

#ifndef __Teps4TriprismVersion__						// 2010-09-23
					UpperString(tmpStr, false);
#endif


2. 1050x1050 for triprism version only
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )

3. fix issue with "copy" in print to file
void 	TBGPrintView::SetCurrentImageName(CStr255_AC	imageName)	// 4-16-04

4. fix function key issue not working with tpriprism with "enter" key = grab
void TPreviewImageWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

5. allow psd as valid file
	bool isValidFileForHere ( CStr255_AC fileName )
				strcmp(extBuffer,".NEF")==0 || strcmp(extBuffer,".PSD")==0 ); // 2010-09-23steve


// 2010-09-21
create limit size for Triprism version vor JPEG Web Size
TPrintToFileSetPrefs
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )



// 2010-09-14
bool TTeps2000Application::SpecialDeletePCCardAndUnmount()		// 5-14-07
	if ( getMyStartSittingPrefs()->deleteImagesAfterCopying && MacAppAlert(1016,NULL)==1)	// 2010-09-14 used wong resource


// 2010-09-13steve

allow for all version???
//	getMyBarcodeAppPrefs()->printSpecialPackageOnReturnToMain = false;		// 2010-09-13



// 2010-09-13
get the correct bg if user changed their pose at camera station

		CStr255_AC newPath = getMyNewOneUpPrefs()->defaultFolder+"/"+templateName; // 2010-09-13steve


// look for giants/jets pref file names with plist extension
bool LoadFromNewGiantsOrJetPreferencesFile ( short	team);
bool LoadFromNewGiantsOrJetPreferencesFileForPreview ( short	team);


// 2010-09-13 copied changes form edwin
// need to fix ratio for defocus value

void TImageObject::WriteChromaKeySettings(CStream_AC* aStream)
		float factor = 1.0;	// 11-16-07
		if ( doNewMethod )
		{
			factor = (float(gDefaultCKTempateDPI) / getCurrentCanvas()->aTemplate.dpi);	// 2-15-05
			
			if (gCurrentPrintHandler)	// 2010-09-13
			{
				if (gCurrentPrintHandler->WhatIsBeingPrinted()==cPrint_Package)
				{
					tNewCanvasSizes	*canvas;
					canvas = gCurrentPrintHandler->GetCanvasBeingPrinted();
					factor = (float(gDefaultCKTempateDPI) / canvas->aTemplate.dpi);
					sprintf(mesg, "factor = %f", factor);
					//DisplayNormalMessage(mesg);
				}
			}

void TImageObject::WriteChromaKeySettings(CStream_AC* aStream)
		else
		{
			if (fReadFromCKPref)	// 11-16-07
				settings.para = fPARA;
			else
				settings.para = *(fView->GetChromaKeyMgr()->GetParameters());

			// float factor = (float(gDefaultCKTempateDPI) / getCurrentCanvas()->aTemplate.dpi);	// 2-15-05
			factor = (float(gDefaultCKTempateDPI) / getCurrentCanvas()->aTemplate.dpi);	// 2-15-05
			if (gCurrentPrintHandler)	// 2010-09-13



// 2010-09-12 from edwin


// try to fix issue if user canceled printing - dont load the next job
OSErr TPreviewImageWindow::PrintPackage(short item, Boolean	spool, Boolean preview, Boolean now)
			status = aGeneralPrintHandler->Print();	// 2010-09-12 check for status

OSErr TPreviewImageWindow::PrintPackage(short item, Boolean	spool, Boolean preview, Boolean now)
#ifdef __Teps4TriprismVersion__
	// 2010-09-12 check for status
	if (status==noErr && getMyAdvanced2Prefs()->doNewStuff && getCurrentInputHandler()->IsStartSitting()==false) // 2010-09-02



// try to fix the loadCkTemplateProperties

// DropPreviewImage.cp

void TDropPreviewImage::LoadCKPropertiesFromFile()	// 10-19-04

#ifndef __Teps4TriprismVersion__		// 2010-09-12
		
		LoadCKPropertiesFromTemplateFile();
#endif

void TDropPreviewImage::LoadCKPropertiesFromTemplateFile()	// 1-29-07
#ifdef __Teps4TriprismVersion__
		// 2010-09-12
		
		if (fImageFileObject)
		{
			tCKImageProperties	prop;
			FSSpec	fs = ((TPreviewImageWindow*)FindWindowWithIdentifier('prev'))->fCurrentTemplateFile;
			pstrcat(fs.name, "\p.ck");
			if (loadCKPropertiesFromTemplateFile(fs, &prop))
			{
				saveCKPropertiesToFile(fImageFileObject->GetFile(), &prop);
			}
		}
		return;
		
#endif



// 2010-09-11steve
// try to fix space-bar to grab in start sitting

void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)
	// 2010-09-11steve - try to get grab to work with customerOrderMode=ON
	bool	enableKeyEventBehavior = true;
#ifdef __Teps4TriprismVersion__
	if (getMyAdvanced2Prefs()->doNewStuff)
		enableKeyEventBehavior = false;
#endif
	if (enableKeyEventBehavior && IsSchoolPhotographyMode())
	{
		TKeyEventBehavior	*aBehavior	= TH_new TKeyEventBehavior('keye');
		if ( aBehavior )
		{
			aBehavior->SetOwnersView((TView*)this);
			AddBehavior(aBehavior);
			fKeyEventBehavior = aBehavior;		// 5-1-07
		}
	}

// 2010-09-11steve
// fix spurious message for canon rebel t1i
OSErr TMyCanonCameraHandler::GrabImage()
		// 2010-09-11steve HMM??? somehow we should not issuing kEdsCameraStatusCommand_UILock for canon rebel T1i
		// was there a problem with a certain model where fLegacy is wrong????
		// we are not checking fLegacy above for some reason????
#ifndef __Teps4TriprismVersion__ // 2010-09-11steve - get rid of message for meadowlands for now
		
		DisplayNormalMessage("An error occured trying to grab an image");
#endif




// 2010-09-11steve
// try to fix issue with ck masks not saving when going to server

void TPreviewImageWindow::DoNewPageDownStuff()		// 2010-08-24
					// 2010-09-11steve - copy the ck stuff to the resource fork
					{
						tCKImageProperties	prop;
						if (loadCKPropertiesFromFile(srcFS, &prop))
						{
							saveCKPropertiesToFile(dstFS, &prop);
						}
						extern void copyMaskFromSrcToDstFile(FSSpec	srcFSSpec, FSSpec dstFSSpec, ResID	rsrcID);
						copyMaskFromSrcToDstFile(srcFS, dstFS, 5011);
						copyMaskFromSrcToDstFile(srcFS, dstFS, 5012);	
					}






// 2010-09-11steve
// give separate names for StartSitting vs PreviewImages
bool LoadFromNewGiantsOrJetPreferencesFile ( short	team);
bool LoadFromNewGiantsOrJetPreferencesFileForPreview ( short	team);// 2010-09-11steve



// 2010-09-10steve
// released as .13
// fix snow leopard crash
- (bool) sendURLCommandSync:(NSMutableDictionary*) info
		NSError *error = nil; // 2010-09-10steve must init to NIL!!





2010-09-09
added window 2404 at startup of camera startion and production to allow for selecting Giant, Jets, Continue or Cancel
bool TTeps2000Application::DoNewPreviewImages(bool chooseOne)		// 10-4-05 change from void to bool return type
void TTeps2000Application::StartDirectConnectWithoutCard()

add message if unable to mount server in camera station mode and do not continue
void TPreviewImageWindow::DoNewPageDownStuff()		// 2010-08-24

to undo auto page up in camera and production mode remove lines 1148 - 1152 in PreviewImageWindow.cp
	if (getMyAdvanced2Prefs()->doNewStuff)		// 2010-08-30
	{
		gApplication->UpdateAllWindows();
		gApplication->PostCommand(new TPostWindowMenuCommand(this, 9999, 60));
	}


2010-09-07
save olmec op-800 media prefs
bool tMyMediaWriteClass::SetPrinter(short	printer)


2010-09-03
fix crash in POS version when double clicking on image to zoom
short TPreviewImage::GetImageToPrint()

fix issue with wrong scaling of file overlay in temaplte editing window
void TFileOverlayObject::Draw4Preview(GWorldPtr	outputOffscreen)

add __TepsProcessor4TriprismVersion__ for new feature to write customer buffer
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )

// 2010-08-23edwin
fix naming issues for usb key burn
CStr255_AC getCDWriteName(tNewCanvasSizes	*aCanvas, tSaveFilePrefPtr	ptr)
GWorldPtr TFloppyPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
short 	TFloppyPrintHandler::DoPrint(GWorldPtr	anOffscreen, Boolean	doPreview)

remove template button for special new mode
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)

replace it by menu option just in case window closes
bool TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)
void TPreviewImageWindow::DoSetupMenus()


// 2010-08-24steve
// release version for bill
// v15.6.11 <-- Please DONT lose the version number in xcodeproj file!!!


// disable the mitsu printer for now
DisableMenuItem(MAGetMenu(1008), 33); // 2010-08-24
DisableMenuItem(MAGetMenu(1044), 8); // 2010-08-24


// 2010-08-24steve
// change job version between processor and printCenter
#define kPrinterSpoolerVer19			0x0219					// 2010-08-24
#define kPrinterSpoolerVerUsed			kPrinterSpoolerVer19	// 2010-08-24


// 2010-08-23steve
// for dnp printer, processor writes out seq rgb to print center


// 2010-08-23steve
1. fix aboutBox NIB file
2. added IBOutlet ibProductInfoTextField2
NewAboutBoxController.mm
NewAboutBoxController.h
- (void)awakeFromNib
	IBOutlet NSTextField*			ibProductInfoTextField2;	// 2010-08-23steve
			if (ibProductInfoTextField2) [ibProductInfoTextField2 setStringValue:[NSString stringWithFormat:@"%@ - %@",infoString,infoString2]]; // 2010-08-23steve




void validatePreviewPrefs ( tPreviewPrefPtr ptr )	// 6-18-01

	if (ptr->previewFolderButtonDefault==0 || ptr->previewFolderButtonDefault> kAddImagesFromCurrentFolder)	// 2010-08-17
		ptr->previewFolderButtonDefault = kStandardPreview;



ok UTeps2000Application.cp
line 1421

case 1351: // 8-8-02
{
extern bool loadNewCKTemplateFromDictionary(); // 2010-08-16
loadNewCKTemplateFromDictionary(); // 2010-08-16





// 2010-08-17
add prefs to CP-D70DW Mitsubishi printer (copy from 9550)
Boolean setMyMitsubishiPrinterPrefToFactoryDefaults ( tMitsubishiPrinterPrefPtr ptr, short which)
void TMitsubishiPrinterPrefs::GetSettings()
void TMitsubishiPrinterPrefs::SetSettings(tMitsubishiPrinterPrefPtr	ptr)
void setAllMyDefaults()
 
create new feature to auto load ck template and customer (called now from Get Print Count)
bool	loadNewCKTemplateFromDictionary()		// 2010-08-16

change the Command key combination for 'Show Customer Database Record' from Cmd-G to Cmd-I




// 2010-08-12steve
// make the share target compile
bool TTeps2000Application::DoNewPreviewImages(bool chooseOne)		// 10-4-05 change from void to bool return type
		bool doSkipNavWindow = false; // 2010-08-12steve  getMyPhotoTouchPrefs()->doTreat3AmAsPreviousDay;	// 2010-08-10steve true; // 2010-08-09steve - Auto Enter Preview Images

#ifdef __UsePhotoTouchResources__	// 2010-08-12steve so we can compile other targets
		doSkipNavWindow = getMyPhotoTouchPrefs()->doTreat3AmAsPreviousDay;	// 2010-08-12 if uses the 3Am method
#endif		




// 2010-08-11steve

// fix crash after hiresQuickZoom
void TPreviewImageWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
		case 'qck2':	// 08-04-09
				// 2010-08-11steve - somehow after DoPrintPreviewWithSlideWindow, loses focus anyway
				// so need to get rid of correpsonding tools window as well...
				if ( FindWindowWithIdentifier('natw') )
				{
					FindWindowWithIdentifier('natw')->Show(false,kRedraw);
				}




// 2010-08-10steve

// dont force to true
// only true if using the new 3am method for slideshow side
bool TTeps2000Application::DoNewPreviewImages(bool chooseOne)		// 10-4-05 change from void to bool return type
		bool doSkipNavWindow = getMyPhotoTouchPrefs->()->doTreat3AmAsPreviousDay;	// 2010-08-10steve true; // 2010-08-09steve - Auto Enter Preview Images


// fix where not all images of the same ID are being added
void newFunction()	// 08-02-10
	// 2010-08-10steve
	getCurrentInputHandler()->PutFilesInList(getMySittingDirectoryPrefs()->saveFolderVRefNum,
											 tmpFS.parID);
	return; 
	// 2010-08-10steve
	



// 2010-08-09steve 
// 2010-08-08steve 
// try to get the newFunction() to work

bool TTeps2000Application::DoNewPreviewImages(bool chooseOne)		// 10-4-05 change from void to bool return type
		bool doSkipNavWindow = true; // 2010-08-09steve - Auto Enter Preview Images
		if ( doSkipNavWindow )
		{
			
		}

// call newFunction() under PhotoTouch Version and Pref ON
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)
			bool doNewMethod = false; // 2010-08-09steve
			
#ifdef __UsePhotoTouchResources__		// 2010-08-09steve
			doNewMethod = getMyPhotoTouchPrefs()->doTreat3AmAsPreviousDay;			
#endif
			if ( doNewMethod )
			{
				newFunction(); // 2010-08-09steve
			}
			else
			{
				getCurrentInputHandler()->PutFilesInList(getCurrentInputHandler()->fFileSpec.vRefNum,		// 8-26-03
														 getCurrentInputHandler()->fFileSpec.parID);
			}


// Allow minimum autoStartSeconds for Slideshow to be 1
MacApp 1062 - change min autostart sec to 1


// Added two new variables for:
typedef struct tPhotoTouchPrefs
	short			doAutoEnterPreviewImages;	// 2010-08-09steve this should take precedence over doNotAutoEnterStartSitting
	short			doTreat3AmAsPreviousDay;	// 2010-08-09steve


// show UI for two new prefs
MODIFIED 1060 in Teps-X PhotoAd.rsrc

// minor changes in tepsx.rsrc
MacApp 1088 - change to Pref - Advanced settings
1240 - new swipe bar code window




// 2010-08-06
added PhotoTouch Prefs
new files PhotoTouchPrefs.cp and .h
new view 1060 in Teps-X PhotoAd.rsrc

remove PhotoTouch Pref from barcode app prefs by placing X in front of variable

void DisplayNormalMessagePascal( Str255 s )
NSMutableDictionary* CopyUserPreferencesToDictionary ( void )
bool TGeneralPrintHandler::ValidateCanvas()
Boolean TTepsPrintHandler::MarkedEnoughImages(templateInfo	*aTemplate)
void  TTeps2000Application::InitializeApplication()
void myWritePhotoTouchPref( bool doSynchNow=false);		// added 2010-08-05
void myReadPhotoTouchPref( bool doSynchNow=false);		// added 2010-08-05
void TTEPSFileHandler::CheckIfDeleteAllImages()
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TPreviewImageWindow::SetCurrentImagesUsed(CLongintList_AC	*theList)	// 4-19-04
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01


add an extra progress indicator stop when importing text file
void TImportFileWindow::MergeData()		// 8-20-03


TO ADD/REMOVE printer from list:
================================
had to add it again to MENU 1044 and 1008
printer setting resoruce?

loading default
TLoadDefaultCommand::TLoadDefaultCommand(CommandNumber itsCommandNumber, TPrimatteMgr2	*aMgr, TView	*itsView, TView	*chromaView) :



// somehow it's converting old unknown regions into existing ones
// for both junk mask and exclusion masks
				// 2010-08-05steve  AddRectanglesToJunkMaskStructure(fileSpec, tmpProp.junkMask, tmpProp.junkMaskTool, tmpProp.junkMask2, tmpProp.junkMaskTool2, kJunkMaskResID);
				// 2010-08-05steve AddRectanglesToJunkMaskStructure(fileSpec, tmpProp.exclusionMask.rect, tmpProp.exclusionMask.tool, gZeroRect, 'rect', kExclusionMaskResID);


// if image file has no exlusion mask region - also remove the resource property 5012
		removeObjectResource(fs, kExclusionMaskResID); // 2010-08-05


// if factory default has no exclusion mask, then need to removeObjectForKey:kPrefKeyForExclusionMaskSettings
bool	saveCurrentImageSettingsToFactoryDefault(FSSpec	fs)		// 2010-04-05
			else
			{
				
				[[NSUserDefaults standardUserDefaults] removeObjectForKey:kPrefKeyForExclusionMaskSettings];// 2010-08-05steve
				[[NSUserDefaults standardUserDefaults] synchronize];// 2010-08-05steve

			}
			
			
// GAVE to serge
// v15.6.6
// 2010-08-05 - fix issue with FG processing FlashDriveWRite canvases
		if (FindWindowWithIdentifier('prev')) // 2010-08-05
		{
			fCustomerID = getCurrentCameraHandler()->GetCurrentStudent();
		}


// 2010-08-03
// save the new FG anbd BG prefs
			anObjectKeyName = kPrefKeyForWebUploadPrefs;							// 2010-08-03
			anObjectKeyName = kPrefKeyForAdvanced2Pref;					// 2010-08-03

// remove mitsu printer for now



2010-08-03
create new pref 'Also Create JPEG for Web of this print to file'
PrintToFileSetPrefs.cp
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )
make preferences window bigger

2010-08-02
add new option 2 advanced 2 prefs --> advance to next unprocessed file
AdvancedPreferences2.cp
OSErr TPreviewImageWindow::PrintPackage(short item, Boolean	spool, Boolean preview, Boolean now)

remove advanced 2 prefs from all but Teps Triprism version

rename advanced 2 prefs to Teps Triprism Prefs


2010-07-29
2010-07-30
fix multiple open/close file issues in new exclusion/junk mask stuff
junkmask view.cp

remove double SaveCurrentImageSettings
void TPreviewImageWindow::Print(short	mode, Boolean doPreview, Boolean saveToFile, Boolean doBackground, Boolean now)

add log for AddResource error
void SaveHandle(Handle InHandle,short theID,CStr255_AC Name, ResType theType)

2010-07-27
create web uload pref in processor


2010-07-13
save chroma key settings to properties each time you click
void TChromaKeyTools::Refresh ( bool doVerbose )

remove references to old free from mechanism
all over TDropPreviewImage

change job version number between Teps-X and Teps-Processor

remove unnecessary save properties in ~TDropPreviewImage

2010-07-12
2010-07-13
Annd new Mitsubishi CPD 70WB printer

2010-07-12
fix a bug that caused a crash when previewing and clicking cancel
OSErr CMyNavigation::ChooseObjectReturnList(AEDescList	*theList)		// 10-23-09


2010-07-08
2010-07-09
if there is multiple CD items save all items too CD folder and then burn a CD
void TSessionPrintWindow::SendAllJobsToSpooler()
bool TSessionPrintWindow::ValidatePackage(long	packageNumber)	// 2010-06-25
short TPreviewImage::GetImageToPrint()
short TGeneralPrintHandler::Print()
void TGeneralPrintHandler::Prepare4WriteCD()	// 8-8-02


2010-07-01
remove debug message
CGImageRef CImageFile::GetCurrentCGImageWithColorCorrection()

fix issue where queue got messed up (question marks, etc) when an error occured after returning from MacPOS to Teps
void TSessionPrintWindow::SendAllJobsToSpooler()


2010-06-25
enable special new mode for POS version
void  TTeps2000Application::InitializeApplication()
short TPreviewImageWindow::GetCurrentImage()

fix issue where clicking on print package the 1st time only job was not added to queue
void TPrintToolbarWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

validate package for number of marked before adding to queue not when coming back from MacPOS
bool TSessionPrintWindow::AddItem(long	imageNumber, long	packageNumber)
bool TSessionPrintWindow::ValidatePackage(long	packageNumber)	// 2010-06-25



2010-06-24
fix compiler error due to wrong position #ifdef/#endif
OSErr TPreviewImageWindow::PrintPackage(short item, Boolean	spool, Boolean preview, Boolean now)

2010-06-22
use getMyAdvanced2Prefs()->enableMutipleCKPrintMode for Teps Triprism only
OSErr TPreviewImageWindow::PrintPackage(short item, Boolean	spool, Boolean preview, Boolean now)

2010-06-21
fix a bug that left the image file open so it could not be deleted
void copyJunkMaskToAlphaChannelOffscreen(GWorldPtr	imageOffscreen, FSSpec	fileSpec, float factor)	// 2010-03-15

2010-06-15
create new Advanced 2 pref
class TAdvanced2Preferences
void myWriteAdvanced2Pref( bool doSynchNow=false);	// added 2010-06-15
void myReadAdvanced2Pref( bool doSynchNow=false);	// added 2010-06-15

use getMyAdvanced2Prefs()->enableMutipleCKPrintMode to enable new mode to do one print for each CK template
OSErr TPreviewImageWindow::PrintPackage(short item, Boolean	spool, Boolean preview, Boolean now)
short TGeneralPrintHandler::PrintCanvas()


2010-06-14
fix crash if scanning barcode while saving current image
void TN_UPThumbNailView::LoadPage(long	aNumber)
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)



2010-06-11
create an option to print current image with each ck template in current folder
short TPreviewImageWindow::GetCurrentImageToPrint()		// 2010-06-11
OSErr TPreviewImageWindow::PrintPackage(short item, Boolean	spool, Boolean preview, Boolean now)
void TGeneralPrintHandler::GetImageNumberToPrint(bool	dontCheckCanvas)
CList_AC	*getCKTemplatesForCategory(CStr255_AC		category)		// 2010-06-11
void TPrintView::FillInImageFSSpec4BGPrintingNew(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, FSSpec	ckTemplate)

// 2010-06-10 
never delete file in hot folder if start sitting folder copy is off
bool TDummyCameraHandler::Check4NewFiles()



// 2010-06-07
make an option to add file from current folder to thumbnail bar
void TThumbnailToolsView::DoPreviewImagesChoice(short	choice)	// 6-7-04
void TTEPSFileHandler::AddFilesFromCurrentFolder()		// 2010-06-07
add item to MENU 2041 and 2042

also auto add files from current folder when doing page down and end thumbnails
void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)

scroll current image into view
void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)



// 2010-06-05

// fix infinite loop issue


// make after print package load next non-processed image

// 2010-06-04
add time stamp to balloon behavior
CStr255_AC TShowThumbnailBalloonBehavior::GetInfoString()

// 2010-06-04 remove section as it prevents new files from coming in 
// if there is customer order/info files or other invalid files in the folder
TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)

fix crash when loading keyParameter.txt
void TDropPreviewImage::SetExclusionMask(tJunkMaskStructure	mask, CPoint_AC	*freePoints)		// 12-21-09

swapping of gDefocusValue
void SaveKeyParameterToFile ( TFile *aFile, fixcoef *aPARA)

when key down jump to next unprocessed file
void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)

when printing package write to ProcessedInfoFolder directory
OSErr TPreviewImageWindow::PrintPackage(short item, Boolean	spool, Boolean preview, Boolean now)


// NOTE:
// in CameraHotFolder, the first initial scan is done when clicking on start sitting
// HOWEver, it uses the periodic function to check for new images the first time as well
// so, if the delay is set too high, start sitting will also wait for that amount time and then start scanning
	if (getMyInputPrefs()->kind==kCamera)			// 3-24-08 ONLY if cameraPC-CARD
	{	
		if (getMyInputPrefs()->dummyCameraDelay > 0.0)	// 11-16-04
		{
			((MDependable_AC*)GetFileList())->Changed(cCameraWritingImage,nil);
			waitfor(long(getMyInputPrefs()->dummyCameraDelay*60));
			((MDependable_AC*)GetFileList())->Changed(cResetErrors,nil);
		}
		
	}


// !!!!!!!!!!!!!!!!!!!
// found out that IsValidFile is going to the OLD TAllFilesHandler::IsValidFile

bool TAllFilesHandler::IsValidFile(TFile	*aFile)
{
	if (fNewAllFilesHandler && fNewAllFilesHandler->IsValidFile(aFile) )
		return true;
	
	return false; // 2010-06-04steve


bool TAllFilesHandler::IsValidImageFile(TFile	*aFile)	// 8-31-05
{
	// 2009-12-02 - try to speed up when checking item across network
	if (fNewAllFilesHandler && fNewAllFilesHandler->IsValidFile(aFile) )
		return true;
	
	return false; // 2010-06-04steve


// remove beep in camera hot folder when encountering non-image file
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01
											// 2010-06-04steve ApplicationBeep();


// prevent camera hot folder from adding non-image file to thumbnail list
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01
										// 2010-06-04steve bool	didAdd	= this->AddToList(aFile2);			// 8-31-05
										bool	didAdd	= this->AddFileToList(aFile2); // 2010-06-04steve


// update progress when less than 30 items
short TTEPSFileHandler::AddFilesSortedList(short vRefNum, long dirID, CSortedList_AC	*list)	// new 4-10-03
			if ( numFiles < amount/2 ) // 2010-06-04steve for smaller folder size




// 2010-06-03
make tCKImageProperties	to be read-only at startup if pref is on
void TChromaKeyModePrefs::ReadFrom(CStream_AC	*aStream)
void TChromaKeyModePrefs::WriteTo(CStream_AC	*aStream)
Boolean setMyNewOneUpPrefToFactoryDefaults ( tNewOneUpPrefPtr ptr )
TNewOneUpPrefs::~TNewOneUpPrefs()
void TNewOneUpPrefs::SetSettings(tNewOneUpPrefPtr		pref)
void TImageFileObject::IImageFileObject(TFile *aFile, float rotation)


bool TTeps2000Application::DoNewPreviewImages(bool chooseOne)		// 10-4-05 change from void to bool return type
	// 2010-06-02steve - do the sorting mechanism first - before doing preview images
#ifdef __Teps4TriprismVersion__
	getCurrentInputHandler()->GetFileList()->SetSortFields(77,77);
	getCurrentInputHandler()->GetFileList()->Sort();
	getCurrentInputHandler()->GetFileList()->SetSortFields(99,99);
#endif


void TTeps2000Application::StartDirectConnectWithoutCard()

	// 2010-06-02steve - do the sorting mechanism first - before doing a start sitting
#ifdef __Teps4TriprismVersion__
	getCurrentInputHandler()->GetFileList()->SetSortFields(77,77);
	getCurrentInputHandler()->GetFileList()->Sort();
	getCurrentInputHandler()->GetFileList()->SetSortFields(99,99);
#endif

// bool TTEPSFileHandler::AddToList(TFile	*aFile)	// reprototype 3/19/01

			// 2010-06-02steve - WATCH OUT SPECIAL VERSION ONLY  if (getCurrentInputHandler()->IsStartSitting())		// 10-26-04
#ifndef __Teps4TriprismVersion__			
			if (getCurrentInputHandler()->IsStartSitting())		// 10-26-04
#endif
			{
				if (getMyInputPrefs()->autoMarkNewImages)
				{
					anObject->MarkImage(true);
				}
			}

// check the correct flag
void TInputPreferences::GoToHotFolderSettingsWindow(tInputPrefPtr	ptr)	// 9-4-02
		ptr->deleteImagesInHotFolderImmediately	= ((TCheckBox*)aWindow->FindSubView('diim'))->IsOn();		// 2010-06-02 2010-01-21



// remove the message when opening from apple-Open in finder
void TTeps2000Application::PreviewFromDirectory(CList_AC* aFileList)	// changed to support dropping folders on it 6-20-03
	if (invalidFiles)
	{	
		// 2010-06-02steve DisplayNormalMessage("Invalid File(s)");
		if (numberOfFiles <= 0) return;
	}

// 2010-05-30steve

// try to move most of the CocoaContext declaration to top of method...

// try to locate cause for crash
// seems to be deleting wrong/alreadDeleted object
void myNewSavePreferences()
// go to the third one - seems like it happened with the one above it for p2fPrefObj

		TOutputFilePrefObject	*opPrefObj = new TOutputFilePrefObject;		// 2010-03-09
		delete opPrefObj;	// 2010-05-30steve FOUND IT   wrong cut/paste   psPrefObj;


// fix possible memory leak
void myNewReadPreferences()
	TPrintToFileSetObject	*p2fPrefObj = new TPrintToFileSetObject;
	for (short counter = 1; counter <= 4; counter++)
	{
		...
	}
	delete p2fPrefObj; // 2010-05-30steve delete or else memory leak???




// remove
			// DisplayNormalMessage(fileName);		// 2010-05-28


void TPrintJobTaskManager::DoNextTask()
			#ifndef __TepsXPOSVersion__		// 2010-05-28
					if (!RescanTpiRainbowKeyHandler()->GetTPIKeyExists())	// 7-26-02
					{
						DisplayNormalMessagePascal("\pKey Missing!");	// 04-13-07 make pascal
						ExitToShell();
					}
			#endif


// PrintSpoolerJobVariables.h
#ifdef __TepsXPOSVersion__
	#define	kCurrentPrinterSpoolerVers	kPrinterSpoolerJobFromNewShare + kPrinterSpoolerVerUsed + kPrinterSpoolerJobFromTepsXcode;	// 2010-05-28steve

#else





// 2010-05-25steve
added new PICTs for FG about box, splash, main window
added new PICTs for BG splash, about, main
PICT#310 splash = 298x118 = splash/about
PICT#410 procesor main window = 


// 2010-05-25
make flash card pref to save customer folders too
TFlashCardWritePrefs
window title for new Teps-X Triprism version
void TMainWindow::UpdateTitle()
change pref file name
launch correct Teps-Processor Triprism app
void LaunchSpoolerApp(bool	check)
void myWriteFlashCardPref( bool doSynchNow )				// 2010-05-25
void myReadFlashCardPref( bool doSynchNow )				// 2010-05-25

create a target for tepsProcessorTriprism

// 2010-05-24steve
changes to make pos target work and expire correctly


LOGO Sizes for FG
About Box in splash screen PICT#310 280x105
MainWindow Logo PICT#312 527x190
newAboutBoxLogo PNG file -> file name stored in "Teps-X POS-Info.plist" using key = TepsAboutLogo
TepsAboutLogo = aboutForTepsPos.png


// add aboutForTepsPos.png to POS target

// updated PICTs for "Teps-X POS.rsrc"


// add key to "Teps-X POS-Info.plist"
TepsAboutLogo = aboutForTepsPos.png


// add code for checking POS field from webserver
NSString*	fRetHasPosFeature;	// 2010-05-24steve
- (NSString*) getHasPosFeature;	// 2010-05-24steve


-(void) initialize
	fRetHasPosFeature = nil;	// 2010-05-24steve

-(void) initialize2
	if (fRetHasPosFeature)		[fRetHasPosFeature release]; // 2010-05-24steve

// 2010-05-24steve
- (NSString*) getHasPosFeature
{
	return fRetHasPosFeature;
}

-(int) doCheckServerInfo
#ifdef __TepsXPOSVersion__	// 2010-05-24steve CHECK extra for POS version
				if ( [self getHasPosFeature] )
				{
					NSLog (@"getHasPosFeature returned: [%@]", [self getHasPosFeature]);
					if ( NSOrderedSame == [[NSString stringWithString:@"false"] compare:[self getHasPosFeature] options:NSCaseInsensitiveSearch] )
					{
						// if POS Target and PosFeature is OFF
						// then we need to force the avail print count to ZERO!!!!
						if ( fRetPrintCount )
						{
							[fRetPrintCount release];
						}
						fRetPrintCount = [[NSString alloc] initWithString:@"0"]; // set to ZERO
						
					}
					
				}
				else
				{
					NSLog ( @"getHasPosFeature is NIL???" );
					validData = false;
				}
				
#endif


- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName 
	if ([elementName isEqualToString:@"pos"]) 	// 2010-05-24steve
	{
		fRetHasPosFeature = [[NSString alloc] initWithString:fCurrentStringValue];
		if (gDoVerbose) NSLog(@"fRetHasPosFeature is: [%@]\n\n",fRetHasPosFeature);
	}


// call the new cocoaAboutBox for TepsPOS version
void showAboutBoxCocoa ( void )
	bool doCocoaMethod = false;
#ifdef __TepsXRevenueVersion__
	doCocoaMethod = true;
#endif
#ifdef __TepsXPOSVersion__
	doCocoaMethod = true;
#endif

void showAboutBoxNew2 ( void )
#ifdef __TepsXPOSVersion__	// 2010-05-24steve CHECK extra for POS version
	doNewMethod = true;
#endif

// remove test code
// 2010-05-24steve remove per edwin
//			TN_UP_POSViewBuilder	*aBuilder = new TN_UP_POSViewBuilder();
//			aBuilder->NewImageList(getCurrentInputHandler()->GetFileList());
//			aBuilder->BuildPage();

// 2010-04-16
fix gary's issue with partA/B/C cutting off..
UStampObject.cp
CStr255_AC TStampObject::GetStringToDraw4Printing()
							tmpStr 	= fileName.Copy(nextUnderscore+1, fileName.Length()-nextUnderscore);		// 2010-04-16 copy/past error

bool TStampObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi)
							tmpStr 	= fileName.Copy(nextUnderscore+1, fileName.Length()-nextUnderscore);		// 2010-04-16 copy/past error

only apply default exclusion mask if in start sitting
void TImageFileObject::IImageFileObject(TFile *aFile, float rotation)

// 2010-04-15
speed up loading full page of images in drag and drop mode
void TDropView::LoadPage(short	pageNumber)
void TDropView::ClearTemplate()
void TDropPreviewImage::LoadImage(TImageFileObject	*anObject, bool showProgress)	// 2010-04-15

read file overlays with Core Image instead of QT
GWorldPtr	TFileOverlayObject::GetFullSizeOverlayOffscreen()


// 2010-04-13
fix issue with message 'please select an image' after printing/preview when printing packages
OSErr TPreviewImageWindow::PrintPackage(short item, Boolean	spool, Boolean preview, Boolean now)

also make sure there was an active target before printing, add if aHandler
	if (fMode==kNewSpecialCKMode && aHandler && aHandler->GetIdentifier()=='pict')		// 2010-04-13		2-5-07

// 2010-04-12
void TPreviewImageWindow::Print(short	mode, Boolean doPreview, Boolean saveToFile, Boolean doBackground, Boolean now)
fix issue with message 'please select an image' after printing/preview

// 2010-04-09
highlight currently selected image in the thumbnail bar
add funtions to class TImageFileObject
	bool 	IsSelectedImage() { return fSelectedImage; };	// 2010-04-09
void TImageFileObject::MarkAsSelectedImage(bool select)	// 2010-04-09


void TThumbNailView::Draw(const CViewRect	&area)
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03


// 2010-04-02
// 2010-04-05
// 2010-04-06
add exclusion mask to use free form

// 2010-03-30
copied changes from older version to add inclusion maske to current Teps-version

// 2010-03-25
// 2010-03-26
// 2010-03-29
make changes to allow same image twice in ck and special new mode, also allow for rotated node with same image
also save properties directly after zoom or shift action and not when dragging in a new image
send out an event that will move same image on page automaticaly
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TDropPreviewImage::SetDragging(bool dragging)
void TDropPreviewImage::Reset()		// 2-6-02
void TDropPreviewImage::SaveCKPropertiesToFile()	// 6-22-04
void TDropPreviewImage::LoadCKPropertiesFromFile()	// 10-19-04
void TNewCKToolWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

void TPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)
void TImageObject::Calculate4ZoomAndInset(CRect_AC	&srcRect, CRect_AC	&dstRect, CRect_AC	maxDstRect)

// 2010-03-26steve

// remove debug message
bool findImage(FSSpec	theFSSpec, CStr255_AC	folderName, long	image, TTEPSFileHandler	*aHandler)
					// 2010-03-26 remove debug bad debug message DisplayNormalMessage(pb.dirInfo.ioNamePtr);


// prevent "prompt for images" to work if in customer order mode
bool	gotoSelectImageWindow()
	if (getMyInputPrefs()->enableCustomerOrderMode) // 2010-03-26
	{
		DisplayNormalMessage("Prompt for Images is not supported in Customer order Mode");
		return false;
	}


// for noerr, add extra pref "printSpecialPackage2OnReturnToMain" to NOT do presetpackage2 on return to main
// change in resource file


typedef struct tBarcodeAppPrefs
	short			printSpecialPackage2OnReturnToMain;					// 2010-03-26	


Boolean setMyBarcodeAppPrefToFactoryDefaults ( tBarcodeAppPrefPtr ptr )
	ptr->printSpecialPackage2OnReturnToMain	= false;				// 2010-03-26

void TBarcodeAppPref::ReadFrom(CStream_AC	*aStream)
	getMyBarcodeAppPrefs()->printSpecialPackage2OnReturnToMain = aStream->ReadInteger();			// 2010-03-26
	unsigned char	reserved[180];	// 2010-03-26 was 182 // 2009-02-05steve was 192 // 2009-02-03steve was 194 // 12-04-08	// 11-11-08 10-17-08	//05-22-08steve [204];


void TBarcodeAppPref::WriteTo(CStream_AC	*aStream)
	aStream->WriteInteger(getMyBarcodeAppPrefs()->printSpecialPackage2OnReturnToMain);				// 2010-03-26

TBarcodeAppPreferences::~TBarcodeAppPreferences()
	if ( FindSubView('befq') )		// 2010-03-26
		getMyBarcodeAppPrefs()->printSpecialPackage2OnReturnToMain = ((TCheckBox*)FindSubView('befq'))->IsOn();

void TBarcodeAppPreferences::SetSettings(tBarcodeAppPrefPtr ptr)
	if ( FindSubView('befq') )		// 2010-03-26
	{
		((TCheckBox*)FindSubView('befq'))->SetState(getMyBarcodeAppPrefs()->printSpecialPackage2OnReturnToMain, kRedraw);
		FindSubView('befq')->ViewEnable(getMyBarcodeAppPrefs()->printSpecialPackageBeforeCommand1, kRedraw);
		((TControl*)FindSubView('befq'))->DimState(!getMyBarcodeAppPrefs()->printSpecialPackageBeforeCommand1, kRedraw);
	}

// added 2010-03-26
void 	TBarcodeAppPreferences::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

bool TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)
		case cReturnToMain:
		{
			if (fPreviewImagesWindow && ((TPreviewImageWindow*)fPreviewImagesWindow)->PrintSpecialPackage()==false) break;	// 08-20-09
			if (getMyBarcodeAppPrefs()->printSpecialPackage2OnReturnToMain &&	// 2010-03-26
					fPreviewImagesWindow && ((TPreviewImageWindow*)fPreviewImagesWindow)->PrintSpecialPackage2()==false) break;	// 2010-03-09

// ADDED resource 1092 to allow dynamic alert message to show name of package
bool TPreviewImageWindow::PrintSpecialPackage2()	// 2010-03-04
			ParamText(GetMyPackageName(getMyBarcodeAppPrefs()->specialPackageNumber2), gEmptyString,gEmptyString,gEmptyString); // 2010-03-26
			if (getMyBarcodeAppPrefs()->promptBeforeSending==false || MacAppAlert(1092, NULL)==1)		// 2010-03-26 // 2010-03-09



// 2010-03-19
// released v15.5.20

// 2010-03-19
// fix crash with photoTouch target where no printPresetPackage prefs exist
	if (FindSubView('pack'))	// 2010-03-19
		((TPopup*)FindSubView('pack'))->SetValues(getMyBarcodeAppPrefs()->specialPackageNumber,1, numberOfPackages, kRedraw);	// 2010-03-09
	if (FindSubView('pac2'))	// 2010-03-19
		((TPopup*)FindSubView('pac2'))->SetValues(getMyBarcodeAppPrefs()->specialPackageNumber2,1, numberOfPackages, kRedraw);	// 2010-03-09



// 2010-03-19steve
// fix issue with carey where CK on operations window not working - but however, it did print
void TDropPreviewImage::LoadCKPropertiesFromFile()	// 10-19-04
				fChromaKeyMgr->SetParameters(prop.para);




// 2010-03-18steve
fix permission issues with reading/writing package count hidden files

TFile	*getPrintCountFile(bool	forceSpooler, bool today)
TFile	*getPrintCountFileForSpecificDay(CStr255_AC	dateString, bool	forceSpooler)	// 3-8-05
void createReport(bool	spooler)
			char	myPath[1024];		// 2010-03-18
			FSRef	fsref;
			memset(myPath, 0, 1024);
			if (FSpMakeFSRef(&tmpFSSpec, &fsref) == noErr && FSRefMakePath(&fsref, myPath, 1024) == noErr)
			{
				extern bool setPermission ( const char *itemPath, UInt32 permMode );
				setPermission (myPath, 0777);
			}



// 2010-03-12steve
// insert preset Package Job as Normal Priority

bool TPreviewImageWindow::PrintSpecialPackage()	// 08-20-09
					aGeneralPrintHandler->PrintWhat(cPrint_Package, true, false); // 2010-03-12steve - want to add job normal priority

bool TPreviewImageWindow::PrintSpecialPackage2()	// 2010-03-04
					aGeneralPrintHandler->PrintWhat(cPrint_Package, true, false); // 2010-03-12steve - want to add job normal priority



// 2010-03-11

// fix issue with printing the preset package on return to main (with APPLE-1 case) only if apple1 is allowed
bool TPreviewImageWindow::PrintSpecialPackage2()	// 2010-03-04
	if (getMyInputPrefs()->enableCustomerOrderMode && !getMyInputPrefs()->alwaysShowAllCustomers &&
				getCurrentInputHandler()->GetNumberOfFiles() > 0)		// 2010-03-11


// fix issue when "database file alias" is the very first item in image folder
bool TCameraHandler::IsValidFile(TFile	*aFile)
	if ((theType=='TEXT' && creator=='TPIz') || theType=='adpr')	// 2010-03-11 always skip alias files

// ignore image object's attribute in ck template when doing "save scaled image for web"
// in other words - completely ignore the CK template when "save scaled image for web"
GWorldPtr TImageObject::Draw4PrintingSpecial(short	dpi, TBGPrintView	*theView)		// 11-12-09
		// 2010-03-11 never do chroma key for saving scaled image
		/*if (fDoComposite && GetHasChromakeyFeature(GetTpiKeyHandler()) )	// 04-14-08steve // 10-23-01



// 2010-03-09

// fix puopup display of packges for the two preset ones

	short	numberOfPackages = GetNumberOfPackages();
	
	((TPopup*)FindSubView('pack'))->SetValues(getMyBarcodeAppPrefs()->specialPackageNumber,1, numberOfPackages, kRedraw);	// 2010-03-09
	((TPopup*)FindSubView('pac2'))->SetValues(getMyBarcodeAppPrefs()->specialPackageNumber2,1, numberOfPackages, kRedraw);	// 2010-03-09


// do not send preset if there are no images in thumbnail view

bool TPreviewImageWindow::PrintSpecialPackage()	// 08-20-09
{
	bool	continueQuit = true;
	
	
	if (getCurrrentInputHandler()->GetNumberOfFiles() > 0)		// 2010-03-09
	{
	
	
	bool TPreviewImageWindow::PrintSpecialPackage2()	// 2010-03-04
{
	bool	continueQuit = true;
	
	if (getCurrrentInputHandler()->GetNumberOfFiles() > 0)		// 2010-03-09
	{
	
	
	
	
// apple-1
		case cReturnToMain:
		{
			if (fPreviewImagesWindow && ((TPreviewImageWindow*)fPreviewImagesWindow)->PrintSpecialPackage()==false) break;	// 08-20-09
			if (fPreviewImagesWindow && ((TPreviewImageWindow*)fPreviewImagesWindow)->PrintSpecialPackage2()==false) break;	// 2010-03-09



// 2010-03-09

// fix permission issue when copying to backup folder across network
				// 2010-03-09 set permission to read/write if possible for save as original only
				char	myPath[1024];		// 2010-03-08
				 FSRef	fsref;
				 memset(myPath, 0, 1024);
				 if (FSpMakeFSRef(&copyFSSpec, &fsref) == noErr && FSRefMakePath(&fsref, myPath, 1024) == noErr)
				 {
					 extern bool setPermission ( const char *itemPath, UInt32 permMode );
					 setPermission (myPath, 0777);
				 }


// 2010-03-09
add output file pref to specify jpeg compression when doing jpeg for web
TOutputFilePrefObject
TOutputFilePrefs
short TPreferencesListView::GetPrefFromItemText(CStr255_AC	itemText)
add new view 1046
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )


add pref prompt before sending (special jpeg for web package)
TBarcodeAppPref
bool TPreviewImageWindow::PrintSpecialPackage2()	// 2010-03-04

move up function to print special (JPEG for web package) to do it after Command-1 and before loading new images
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)


// 2010-03-08
create an option to force the permission to read/write when creating new folder - commented out for now
OSErr TTeps2000Application::CreateCustomFolder()

create an option to force the permission to read/write when copying file from hot folder to sitting folder - commented out for now
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01

enabled year field in view resource 1240


// 2010-03-08steve

do not show error message when running FG and BG in mixed cpu format

void TJobsListView::ShowPict(short	item)	// 4-18-03
	if (offscreen==nil)
	{
		// 2010-03-08 - this error showed up when FG and BG are not running the same cpu type
		// the pnot info might be swapped
		// 2010-03-08steve DisplayNormalMessage("offscreen =  nil");
	}



// 2010-03-04
add feauture to print a package after Command 1
BarcodeAppPreferences.cp
bool TPreviewImageWindow::PrintSpecialPackage2()	// 2010-03-04
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)


// 2010-03-02steve

dragAndDrop mode went to the a different function to write job header
with new feature for saving the correct parentfolder in the final job

void TDropView::FillInImageFSSpec4BGPrinting(tNewCanvasSizes	*aCanvas, tPrintSettingsPtr	printSettings, bool now)
  	tSpecialPrintToFilePref	aPref;						// 2010-03-01 re-write (parent)folder name structure drag & drop
  	getMySpecialPrintToFilePrefs(&aPref, aCanvas);
	swapFromHost_SpecialPrintToFilePref ( aPref,  true);
  	aStream->WriteBytes(&aPref, sizeof(tSpecialPrintToFilePref));	// 9-16-03



TEMPORARY patch to prevent procesor from erroring out..
prevents job from sending out if being used in non ck or special new mode and using save as is or save scaled image
("You can only use the'Save CK Template As IS' or 'Save Scaled Original Image For Web'-attribute in Chroma Key or Special New Mode!")


short TGeneralPrintHandler::Print()
	if ( ValidateAllTemplatesForAttribute() == -99 )	return -1;	// 2010-03-02

short TGeneralPrintHandler::ValidateAllTemplatesForAttribute ()		// 2010-03-02
short TGeneralPrintHandler::ValidateForAttributeForTemplate ( FSSpec templateFSSpec )		// 2010-03-02
short TGeneralPrintHandler::ValidateForAttributeForPackage ( short packageNumber )		// 2010-03-02
short TGeneralPrintHandler::ValidateForAttributeForOrder ( tStudentOrderStruct *curStudentOrderList )		// 2010-03-02


// 2010-02-26steve

// Change Job version number
#define kBaseJobVersionNumber 	0x0000837	// 2010-02-26



// try to fix the issue with the correct parent folder name
// when images from different folders are in the same thumbnailview
// and printing all image or marked images

In FG
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now, TView	*aView)
  	tSpecialPrintToFilePref	aPref;						// 2010-02-26 re-write (parent)folder name structure

in BG
short TBGPrintView::ReadObjects(FSSpec	fileSpec)  
	aStream->ReadBytes(&fPrin2FilePref, sizeof(tSpecialPrintToFilePref));		// 2010-02-26 re-read structure
	swapMySpecialPrintToFilePref ( fPrin2FilePref );



// 2010-02-26
// copy stuff that forces apple-1 to not work with barcode mode and startSitting and customerOrderMode ON

NOTE: For AmuseMatte State Fair version
=======================================

IF In StartSitting and CreateSittingFolder=BarcodeFolder (for use with TepsBarCodeApp) and CustomOrderMode=ON
	after doing the barcodeMatching, 
	teps-x will NOT be in customerOrderMode and apple-1 will NOT Work - ie clear all the images
	so that user can mark the images and do a printToFileSet or PrintMarkedImages etc and quit
	
IF In PreviewImages	and CreateSittingFolder=BarcodeFolder and CustomOrderMode=ON
	apple-1 will continue to work - but also with the new search method
	


// 2010-02-26steve - IS THIS GOOD FOR ALL CUSTOMERS OR DO WE NEED A PREF
// ON the SAME station
// they want the StartSitting to NOT be in Customer Order Mode - so they can see all the images loaded
// BUT when in PreviewImages, they want to be Customer Order Mode
// so in the Preferences, they turn ON = customer order mode
// 
// very confusing - what is fBarcodeMode used for???
//
PreviewImageWindow.cp
=====================
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)
		// 2010-02-26steve - IS THIS GOOD FOR ALL CUSTOMERS OR DO WE NEED A PREF
		// 2009-08-25steve
		if ( getCurrentInputHandler()->IsStartSitting() && getMyInputPrefs()->enableCustomerOrderMode && (getMyStartSittingPrefs()->folderCreationStringOrder == kTmpFolderType) )
		{
			// 2009-08-25steve - do NOT try to enter studentOrderMode
			return true;
		}




// 2010-02-25steve

//
// try to find out ronZ's problem why zoom's apply to all does not work correctly
//
//comment out stuff in:
GWorldPtr	TImageObject::GetImageFromImageSize()

// 2010-02-25steve - comment all this out per edwin	
//	if (getMyInputPrefs()->input==kKodakTIF ||
//		getMyInputPrefs()->input==kKodakDirect ||
//		getMyInputPrefs()->input==kKodakDirectMode2)



//
// try to fix problem with wrong parent folder name being sent to job
//
void TPrintView::WriteHeader(CStream_AC	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, TFile	*aFile)	// 12-8-03
// 2010-02-25steve move down	getCurrentInputHandler()->SetCurrentFile(fFirstImageFile);	// 3-2-01

  	// changed 9-16-03
  	tSpecialPrintToFilePref	aPref;
  	getMySpecialPrintToFilePrefs(&aPref, aCanvas);	// 9-16-03
	swapFromHost_SpecialPrintToFilePref ( aPref,  writeAsMotorolaData);

	getCurrentInputHandler()->SetCurrentFile(fFirstImageFile);	// 2010-02-25steve moved down






// 2010-02-18steve

// fix issue with uninitialized freeform region variables
//


void TDropPreviewImage::LoadCKPropertiesFromFile()	// 10-19-04
				memset(fExclusionMaskPoints, 0, sizeof(fExclusionMaskPoints));	// 2010-02-18
				memset(fJunkMaskPoints, 0, sizeof(fJunkMaskPoints));	// 2010-02-18
...
...				
			memset(fExclusionMaskPoints, 0, sizeof(fExclusionMaskPoints));	// 2010-02-18
			memset(fJunkMaskPoints, 0, sizeof(fJunkMaskPoints));	// 2010-02-18
			

void drawFreeFormToOffscreen(GWorldPtr	currPort, CPoint_AC	exclusionFreeForm[cMaxPoints])	// 12-18-09
{
	return; // 2010-02-18   for now do nothing even is there is data


void drawMaskToOffscreen(GWorldPtr	currPort, CPoint_AC	maskFreeForm[cMaxPoints])	// 12-18-09
{
	return; // 2010-02-18   for now do nothing even is there is data


TCompositeMaskPicture::TCompositeMaskPicture()
{
	fFirstClick = false;			// 12-18-09
	fFreeFormDrawing = false;
	fMutablePath = nil;
	memset(&fMaskPoints, 0, sizeof(fMaskPoints));		// 2010-02-18
}


// show message as to why cant preview under specific case
			DisplayNormalMessage("For FlashDrive - Can not preview with 'Keep As Original'-option");	// 2010-02-18



// 2010-02-11

fix issue with hi res preview overlay being of the wrong size

void TFileOverlayObject::Draw4Preview(GWorldPtr	outputOffscreen)
	if (getMyPreviewPrefs()->highResolutionPreview)		// 2010-02-11
		dpi = getMyPreviewPrefs()->myPreviewDPI;

fix write to cd and write to usbFlashDrives

short	getCDItemNumberFromCanvasName(CStr31_AC		canvasName)	// 2010-02-11
{
	short			item = 0;
	
	for (item = 1; item <= kNumberOfCanvases; item++)
	{
		if (gCDWriteCanvasSizes[item-1].name==canvasName)
		{
			return item;
		}
	}
	return getCurrentCanvasNumber();
}

short 	TCDPrintHandler::DoPrint(GWorldPtr	anOffscreen, Boolean	doPreview)
{
	//tSaveFilePrefPtr	ptr = &getMyCDWritePrefs()->copySpec[getCurrentCanvasNumber()];
	tSaveFilePrefPtr	ptr = &getMyCDWritePrefs()->copySpec[getCDItemNumberFromCanvasName(fCanvas->name)];		// 2010-02-11

GWorldPtr TCDPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
{
	//tSaveFilePrefPtr	ptr = &getMyCDWritePrefs()->copySpec[getCurrentCanvasNumber()];
	tSaveFilePrefPtr	ptr = &getMyCDWritePrefs()->copySpec[getCDItemNumberFromCanvasName(fCanvas->name)];		// 2010-02-11

short	getFloppyItemNumberFromCanvasName(CStr31_AC		canvasName)	// 2010-02-11
{
	short			item = 0;
	
	for (item = 1; item <= kNumberOfCanvases; item++)
	{
		if (gFloppyWriteCanvasSizes[item-1].name==canvasName)
		{
			return item;
		}
	}
	return getCurrentCanvasNumber();
}

GWorldPtr TFloppyPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
{
	//tSaveFilePrefPtr	ptr = &getMyFloppyWritePrefs()->copySpec[getCurrentCanvasNumber()];
	tSaveFilePrefPtr	ptr = &getMyFloppyWritePrefs()->copySpec[getFloppyItemNumberFromCanvasName(fCanvas->name)];
	
short 	TFloppyPrintHandler::DoPrint(GWorldPtr	anOffscreen, Boolean	doPreview)
{
	//tSaveFilePrefPtr	ptr = &getMyFloppyWritePrefs()->copySpec[getCurrentCanvasNumber()];
	tSaveFilePrefPtr	ptr = &getMyFloppyWritePrefs()->copySpec[getFloppyItemNumberFromCanvasName(fCanvas->name)];	// 2010-02-11
	

void TGeneralPrintHandler::SetCanvasToPrint(tNewCanvasSizes		*canvas, short	printer)
	extern short	getCDItemNumberFromCanvasName(CStr31_AC		canvasName);	// 2010-02-11
  	if (fPrinter==kCDWriteItem && getMyCDWritePrefs()->copySpec[getCDItemNumberFromCanvasName(fCanvasToPrint.name)].saveFileType==kSaveAsOriginal)	// 8-9-02
	//if (fPrinter==kCDWriteItem && getMyCDWritePrefs()->copySpec[getCurrentCanvasNumber()].saveFileType==kSaveAsOriginal)	// 8-9-02
	.......
	.......
	extern short	getFloppyItemNumberFromCanvasName(CStr31_AC		canvasName);	// 2010-02-11
  	if (fPrinter==kFloppyWriteItem && getMyFloppyWritePrefs()->copySpec[getFloppyItemNumberFromCanvasName(fCanvasToPrint.name)].saveFileType==kSaveAsOriginal)	// 2010-02-11
	//if (fPrinter==kFloppyWriteItem && getMyFloppyWritePrefs()->copySpec[getCurrentCanvasNumber()].saveFileType==kSaveAsOriginal)	// 8-9-02




// 2010-02-09
added "aboutForTepsShare.png"
changed nib file
changed Teps-X Share.plist to find png file
changed Teps-X Share.plist new year in version string
replaced with new PICTS 310 and 312 inside Teps-X Share.rsrc

// 2010-02-09

fix bug where the newspecialCK window would move each time we do a "reset windows location"
					if (((TPreviewImageWindow*)fPreviewImagesWindow)->GetMode()!=kNewSpecialCKMode) // 2010-02-09
						((TPreviewImageWindow*)fPreviewImagesWindow)->SetWindowToDefaultLocation();



fix reset all windows location to include th enew specialCkTools window

class TNewAllToolsWindow : public TNewCKToolWindow
	void	SetDefaultLocation();	// 2010-02-09

void TNewAllToolsWindow::SetDefaultLocation()	// 2010-02-09
{
	CViewRect	newRect = gZeroVRect;
	CRect_AC	dstRect;
	this->GetMaxIntersectedDevice(dstRect);
	newRect = CViewRect(dstRect.right - fSize.h, dstRect.bottom-fSize.v-1, 
						dstRect.right, dstRect.bottom-1);
	this->SetFrame(newRect, kRedraw);
}


bool TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)
				if ( FindWindowWithIdentifier('natw') )		// 2010-02-09
					((TNewAllToolsWindow*)FindWindowWithIdentifier('natw'))->SetDefaultLocation();
					
					
					

// 2010-02-08
fix issue where oval/rect do not work after click on "clear mask" button
void TCompositeMaskPicture::ResetMasks()	// 9-1-06
	// 2010-02-08 fFreeFormDrawing = true;

fix issue when freeform is used (found by serge)
bool doNewChromaKeying2(GWorldPtr	fgOffscreen, GWorldPtr	bgOffscreen, GWorldPtr	outOffscreen, fixcoef	*para, CRect_AC	junkMaskRect,
					aMgr->SetDoExclusionMask(exclusionMaskStuff, orgImage, srcRect, dstRect, newRotationAngle, false);		// 2010-02-08

bool doNewChromaKeyingEx(GWorldPtr	fgOffscreen, GWorldPtr	bgOffscreen, GWorldPtr	outOffscreen, tChromaKeySettings	*settings, bool	saveAlphaChannel,
					aMgr->SetDoExclusionMask(&excl, image, srcRect, dstRect, newRotationAngle, false);	// 2010-02-08




// 2010-02-05
copy changes from edwin for fix with marked images and UsbFlashDrives with saveAsOriginal option

copy changes for usbFlashDrives with folders and "loose" file items
	ie delete only images in the BaseFloppyFolder
	then copy the new images
	and copy all items to usbFlashDrives afterwards (images, loose files, subfolders)


// 2010-01-29
make that new renaming option dimmed out except for phototouch
macys and share should NOT have it

#ifdef __TepsXShareNewVersion__ // 2010-01-29
	FindSubView('rad8')->ViewEnable(false, kDontRedraw);
	((TControl*)FindSubView('rad8'))->DimState(true, kRedraw);
#endif
	
			((TEditText*)FindSubView('vue7')->FindSubView('frmt'))->SetText("YYYYMMDDHHMMSS", kRedraw);	// 2010-01-29


// 2010-01-28
change flopp-write to FlashDrive-Write

display NSLog if unable to save or restore print record
TRefCntPrintInfo TTepsChooserPrintHandler::RestorePrintInfo(TFile* itsFile, bool useRsrcFork)	// 12-8-03
void TNamedStdPrintHandler::SavePrintInfo(TFile* itsFile)	// 12-8-03

fix bug when using nodes in ck template and having new save scaled image attribute on output template
short TBGPrintView::DrawSpecialJob()		// 11-12-09
TLayoutObject* TNodeViewObject::GetImageObjectFromNode()		// 2010-01-28

// 2010-01-26
create funtion to delete all image files in folder only for write cd and flashdrive
deleteAllValidImageFilesInFolder
void TGeneralPrintHandler::Prepare4WriteFloppy()	// 10-21-04
void TGeneralPrintHandler::Prepare4WriteCD()	// 8-8-02

save bug where save as option did not get enabled with new server key
void  TTeps2000Application::InitializeApplication()


// 2010-01-21
make pref to delete image files from hot folder immediately after copying to sitting folder
TInputPreferences
bool TDummyCameraHandler::Check4NewFiles()

// 2010-01-15
implement leading zeros to be determined by preference

// 2010-01-11
// 2010-01-12
add custom5 base name option to view 1264


update output preferences when loading packages
void TTeps2000Application::DoMenuCommand

// 2010-01-04 - 2009-01-08
implement junk mask and exclusion mask using new free form mechanism


next version should be 15.5.14

added test code to see if we can get marching ant to work???



// 2009-12-22
// 2009-12-21
new exclusion mask mechanism that allows you to click to draw a shape

// 2009-12-17
fix read file error issue when using node object with image object that had CK feature on
void TNodeViewObject::FindImageInNodeAndSetFSSpec(FSSpec	imageFSSpec, CStream_AC	*aStream, short curImage, bool	isCKMode)		// 6-23-04

fix issue in special one up mode where the 2nd image on a two-up template did not get drawn (in fact only the first one ever got drawn)
Boolean TImageObject::Draw4PrintingNew(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)	// 12-11-02


// 2009-12-15
STR#5001 - add "  op800" printer settings


// 2009-12-15 copy fix for crash in processor and snow leopard

void myNewSavePreferences()
	delete p2fPrefObj;	// 12-14-09 was deleting wrong object that was already deleted  --> delete psPrefObj


// 2009-12-11 copied changes
fix error where path was not written to in drag and drop mode which caused a read file error in Processor
void TDropView::FillInImageFSSpec4BGPrinting(tNewCanvasSizes	*aCanvas, tPrintSettingsPtr	printSettings, bool now)

1. fix issue in bad job error when sending from dragn/drop mode
	// 12-11-09
	// forgot to write the path for the drag and drop mode
	char	path[1024];			// 11-09-09
	getCurrentInputHandler()->GetCurrentPath(path);
	long count = 1024;
	aStream->WriteBytes(&path[0], count);
	//


2. allow control-Click to show contextual popup

	if (event->GetEventRecord(0).modifiers==0x1000 || event->GetEventRecord(0).modifiers==0x1400)		// right click 12-11-09
	{
		TPopupCommand	*aCommand = new TPopupCommand(this->GetWindow(), this->GetIdentifier());
		gApplication->PostCommand(aCommand);
		return;
	}


3. fix control-Click in special NewCK mode
void TDropPreviewImage::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC thePoint) 
			if (event->GetEventRecord(0).modifiers==0x1000 || event->GetEventRecord(0).modifiers==0x1400)		// right click 12-11-09
			{
				TPopupCommand	*aCommand = new TPopupCommand(this, 'cpic');
				gApplication->PostCommand(aCommand);
				return;
			}
			return;
		}
		else
			if (event->GetEventRecord(0).modifiers==0x1000 || event->GetEventRecord(0).modifiers==0x1400)		// right click 12-11-09
			{
				TPopupCommand	*aCommand = new TPopupCommand(this, 'cpic');
				gApplication->PostCommand(aCommand);
				return;
			}
		
4. fix memory hogging issues
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03

		//fOriginalImage = myDisposeGWorld(fOriginalImage);		// 12-11-09 remove lines unnecessary // 6-04-08
		//fOriginalImage = myDuplicateGWorld(fOffscreen);		// 12-11-09 remove lines unnecessary // 6-04-08





// 2009-12-10 copied changes

#ifdef __UseServerKey__
	// check for key running low after reading prefs
	extern bool checkForKeyRunningLow();		// 12-10-09
	checkForKeyRunningLow();
#endif




// 2009-12-10steve

1. to compiler under SnowLeopard => need to use gcc 4.0 not system default gcc 4.2

2. try to patch problem with activate/deactivate crashing under snow leopard
- (bool) deactivateThisMachine: (NSString*) serialNumber
- (bool) activateThisMachine: (NSString*) serialNumber withLicense:(NSString*) licenseString withNickName:(NSString*)nickNameString






// 2009-12-10steve
void TBackgroundPrintWindow::DrawTriprismLogo(void)
		fTStaticText1->SetText ( CString_AC("1993-2009"), kDontRedraw );	// 2009-12-10steve // 09-12-07	// 3-25-03



improve speed when in hot folder polling method
bool TAllFilesHandler::IsValidImageFile(TFile	*aFile)	// 8-31-05
{
	// 2009-12-02 - try to speed up when checking item across network
	if (fNewAllFilesHandler && fNewAllFilesHandler->IsValidFile(aFile) )
		return true;



// 2009-12-04
fix loading settings save to ck template in start sitting mode

fix auto node issue
OSErr MyChooseNodeFile(const FSSpecPtr defaultLocationfssPtr, OSType	fileType, short	index)

fix apply to same in drag and drop mode for shift/zoom option
void TDragAndDropToolWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)



// 2009-12-03
fix read file error when ck attribute in output template is on
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now, TView	*aView)
void TImageObject::WriteChromaKeySettings(CStream_AC* aStream)
bool readDefaultChromaKeySettings(tChromaKeySettings	*settings)		// 12-03-09



Create new function to load color adjust values from template file when clicking on load template values
void TDropPreviewImage::LoadCKColorAdjustPropertiesFromTemplateFile()		// 12-03-09
void TNewAllToolsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 2009-12-02
fix issue with displaying error messages when 'show all warning/error messages' pref is on
void TPrintJobTaskManager::DoError(short	theErr)
void DisplayNormalMessagePascal( Str255 s )

start saving color adjust attributes to template file
void TDropPreviewImage::SaveCKPropertiesWithCKFile(bool	checkIfChanged)	// 1-31-07


// 2009-11-23
fix issue with excess bytes showing up in metadata usercomment and png
		NSString* originalPath = [[NSString alloc] initWithBytes: pathToSave length: strlen(pathToSave) encoding:NSMacOSRomanStringEncoding]; // 2009-11-23 fix excess bytes
		NSString* originalPath = [[NSString alloc] initWithBytes: pathToSave length: strlen(pathToSave) encoding:NSMacOSRomanStringEncoding]; // 2009-11-23 fix excess bytes


fix macys issue with showing thumbanil and preview image when apple-1 window is up
			getCurrentInputHandler()->RemoveAllImages();	// 11-23-09



2009-11-19
remove extra release which caused crash...
// 2009-11-19steve [(NSAutoreleasePool*)pool release];	
	[(NSAutoreleasePool*)pool drain];	





// 2009-11-17 from edwin

#ifdef __TepsXRevenueVersion__
			short	tmpAutoPrint = getMyBarcodeAppPrefs()->demoMode0;		// 11-17-09
			short	tmpAutoPrint2 = getMyBarcodeAppPrefs()->demoMode1;		// 11-17-09
			getMyBarcodeAppPrefs()->demoMode0 = false;						// 11-17-09
			getMyBarcodeAppPrefs()->demoMode1 = false;						// 11-17-09




2009-11-16edwin
fix new hi res zoom button to save changes before previewing
void TPreviewImageWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

fix new color adjust issue in drag and drop mode where sliders were not updated when clicking on another image (f.e. if 4-up) and subsequent confusion when applying 
to others
void TDragAndDropToolWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TTEPSFileHandler::LoadColorSettings()	// 11-16-09



2009-11-16steve
1. stop the warning messages
bool isValidPhotoAdFile ( CStr255_AC tmpName )
		// 2009-11-15steve DisplayNormalMessagePascal ( "isValidPhotoAdFile found INVALID File:\r["+tmpName+"]" ); // 2009-06-30steve pascal string
2. for the 10th time,
	fix the version number so it's for "All configuration" not just for active configuration
3. released photoTouch build to serge as v15.5.7 (15.5.6 was macysFF)




// 11-09-09
// 11-06-09
write source path name to meta data if JPEG for website
write source path name to end of png data if PNG

create new attribute item ignore overlays

// 11-06-09
enable date search view for al start sitting modes (customer order mode)
bool setCurrentStudent(CStr255_AC	theString)

fix filling in of default year, month, day
int setupTimeRangeInfo ( TWindow* aWindow )

// 11-03-09
if one file selected for cd, select all

// 11-02-09
// 11-03-09
use new cocoa mechanism for polling of folder and subfolders for Macys (when creating cd'c)


// 2009-11-04steve
// copy lost changes from steve
// and copy .xproject files for both FG and BG
	always have wrong versions



// 2009-10-30
// fix the version numbers v15.5.4xxx
// fix the "Build for Release"

// make macy's call the right processor

// make macy's processor call the correct "PrintCenter Share" version

"TepsBackgroundHeaders_xcode_n Macys.h"
// 2009-10-30steve #define	kTepsProcessorAppName "\pTEPS-PRINT CENTER.app"	// 2009-04-24steve
#define	kTepsProcessorAppName "\pTEPS-PRINT CENTER Share.app"	// 2009-10-30steve
#define	kFreezeFrameMacysVersion true

// also right correct job version headers to PrintCenter
#else
	#ifdef kFreezeFrameMacysVersion // 2009-10-30steve
		#define	kCurrentPrinterSpoolerVers	kPrinterSpoolerJobFromNewShare + kPrinterSpoolerVerUsed + kPrinterSpoolerJobFromTepsXcode;	// 2009-10-30steve
	#else
		// 208-08-11steve	#define	kCurrentPrinterSpoolerVers	kPrinterSpoolerVer14 | kPrinterSpoolerJobFromTepsXcode;	// 10-25-07
		#define	kCurrentPrinterSpoolerVers	kPrinterSpoolerVerUsed + kPrinterSpoolerJobFromTepsXcode;	// 12-12-2008
	#endif





#ifdef kFreezeFrameMacysVersion				// 10-30-09
	if (FindWindowWithIdentifier('pase'))
	{
		CStr255_AC tmp = getMyMacysPrintHandler()->GetFileNameToPrint();
		pstrcpy((unsigned char*)fImageSpec.name, tmp);
	}
#endif




// 2009-11-02
// 2009-11-03
use cocoa function for polling the folders and copying files to cd folder

fix issue with floating window after burning that would reappear automatically


// 2009-10-29
issue with rotation in Macys mode
CRect_AC TSlideShowView::DisplayImage(short	imageNum, GWorldPtr	gworld) 

change overlay files to uses .pct
CRect_AC TSlideShowView::DisplayImage(short	imageNum, GWorldPtr	gworld) 


// 2009-10-27
issue where rotation is wrong if there is no meta data
int CImageFile::GetOrientation()
void TImageFileObject::IImageFileObject(TFile *aFile, float rotation)


// 2009-10-26
fix issue with editing template from preview image window and going to the finder and coming back to Teps where it selects wrong window
void TTeps2000Application::RegainControl(bool checkClipboard)		// 10-26-09


// 2009-10-23
Dispose of reply record immediately before disposing of dialog for preview images (test for Gary)
bool CTepsNavClass::ChooseObjectReturnList(AEDescList	*theList)
OSErr CMyNavigation::ChooseObjectReturnList(AEDescList	*theList)		// 10-23-09


// 2009-10-23steve
bool	NavigationServicesAvailable()
{
	return true;	// 2009-10-23steve - NavServicesAvailable deprecated
}


// 2009-10-21steve
add "fold" to info.plist for all targets so we can drag folder onto app icon to open contents

// 10-20-09
assign new kodak lamination value to old structure for 8600 series 
short TSpoolerPrintView::PrepareForPrinter()
			fKodakPrinterPrefs.laminate = fKodakColorAdjSettings.lamination.curVal;


add myCocoaImageColorAdjustInfo	colorAdjustValues to tPrinInfoStruct

assign structure for DNP DS40 and 80
bool	TSpoolerPrintView::ProcessOffscreenAndWriteToFile(tPrintInfoStruct	*printInfo)		// 3-14-06

update print job version (between processor and print-center)
#define kPrinterSpoolerVer17			0x0217					// 10-20-09


// 10-15-09
forgot to swap color and lamination settings for kodak 8600 series printers
void WriteColorCorrectionValue(CStream_AC	*aStream, short	thePrinterType)

assign 	fKodakColorAdjSettings structure to tPrinInfoStruct for 8600 series also since this structure constains lamination seting
short TSpoolerPrintView::PrepareForPrinter()

fPrinter==kXLS8600 || fPrinter==kDS8650 || fPrinter==kDS8657)		// 10-15-09
	  		printInfo.kodakColorAdjSettings	= fKodakColorAdjSettings;
			
IN FACT printInfo.kodakColorAdjSettings.lamination.curVal contains the lamination value for 8600 series


// 10-14-09
add overlay to Macys images
use Graphics/Santa folder
void TPreviewImageWindow::CreateViews(TWindow	*aWindow)		// 07-21-09
TEPS GRAPHICS FOLDER /Santa/Portrait.jpg
TEPS GRAPHICS FOLDER /Santa/Landscape.jpg
if overlay is present it will always be used

// 10-13-09
fixed bug in DNP printer prefs where it did not set the factory setting for sharpness correctly
void TDNPPrinterPrefs::GetSettings()
void TDNPPrinterPrefs::SetSettings()

// 10-13-09
automatically bring up scan ticket window after successful burn
void TShowBurnedImageWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

add myCocoaImageColorAdjustInfo structure to tPrintInfoStruct
change version number

// 10-08-09
fix issue with group photo if no image object in node
void TNodeViewObject::FindImageInNodeAndSetFSSpec4DragAndDrop(FSSpec	imageFSSpec, CStream_AC	*aStream, short curImage)


// 2009-10-02steve
// steve testing the DNP printers
//
fix the outputRect sizes

// ok MENU 2049 through 2053
add cut modes to resource MENU 2053


// copied thumbnail fixes in CImageFile.cpp 09-29-09
// faster Nef thumbnails as well as making Tiff TN work too

	long	maxPixelSize = 160;		// 09-29-09
	
    NSDictionary* options = [NSDictionary dictionaryWithObjectsAndKeys:
		(id)kCFBooleanTrue, (id)kCGImageSourceShouldCache,
		(id)kCFBooleanTrue, (id)kCGImageSourceShouldAllowFloat,
		(id)kCFBooleanTrue, (id)kCGImageSourceCreateThumbnailFromImageIfAbsent,															// 09-29-09
		CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt32Type, &maxPixelSize), (id) kCGImageSourceThumbnailMaxPixelSize,				// 09-29-09
		nil];

// also do NOT apply newcoloradjust if all settings are at 0 defaults
double mySaturationDefault	= 1.0;	// 09-25-09
double myBrightnessDefault	= 0.0;
double myContrastDefault	= 1.0;
double myRednessDefault		= 1.0;
double myGreennessDefault	= 1.0;
double myBluenessDefault	= 1.0;
double mySharpnessDefault	= 0.0;
double myGammaDefault		= 1.0;
double myExposureDefault	= 0.0;
double myHueDefault			= 0.0;
	// 09-25-09 if all settings set to default dont do anything
	if (mySaturation == mySaturationDefault && myBrightness == myBrightnessDefault && myContrast == myContrastDefault &&
		myRedness == myRednessDefault && myGreenness == myGreennessDefault && myBlueness == myBluenessDefault &&
		mySharpness == mySharpnessDefault && myGamma == myGammaDefault && myExposure == myExposureDefault &&
		myHue == myHueDefault)
	{
		return CGImageRetain(fImage);
	}



// 2009-09-28steve
if file "~/Desktop/keyInfo.plist" exists
make the activation process easier by preFilling the info
NewAboutBoxController.h
NewAboutBoxController.mm
	[self getExpandedFullAutoFillLicenseStringPath:[NSString stringWithString:@"~/Desktop/keyInfo.plist"]]; // 2009-09-28steve

// 09-25-09
create new constant __UseServerKey__ to determine whether to use green key or server key mechanism

make Macys version use __UseServerKey__

// 09-24-09
fix bug when clicking on abort button in Databurn app for Macys
void TPreviewImageWindow::DoNewFreezeFrameMacysSitting(CStr255_AC	student)	// 10-7-05


// 09-22-09
display special spooler folder in Sales Station Pref
void TSalesStationPrefs::DoPostCreate(TDocument	*aDocument)

fix crash in camera station
void TCameraStationWindow::SaveImageInTwoImagesMode()

fix issue that caused file not to save
short	gDidCancelKodakColorBalance		= true;		// 09-22-09

create 'Alternate Ticket' button
void TPreviewImageWindow::DoNewFreezeFrameMacysSitting(CStr255_AC	student)	// 10-7-05
bool TPreviewImageWindow::NewMacysSitting(CStr255_AC	customer)		// 10-14-05
view 1534


// 09-17-09
fix color control issue in fine tuning mode and in operations window prefs (crop mark color)
view 1215 and 2123 (change TControl class name to TColorControl)
new class TColorControl
void RegisterMacAppClasses()
void TCroppingMarkWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TCroppingMarkWindow::SetCropMarkColor(CRGBColor_AC	cropMarkColor)
void TColorTuningWindow::SetAttributes(PIXEL* myPIXELMapPtr, TPrimatteMgr2	*aMgr, TChromaKeyView	*aView, CViewPoint	subViewPoint)	// 9-14-01
void TColorTuningWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)	// 9-14-01


// 2009-09-15steve
try to add new loop to scan for NikonLibrary


// 2009-09-15
1. add fix for stampObject - for long file file names - gary lief
bool TStampObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi)
{
	GWorldPtr	CurrPort;
	GDHandle	CurrDev;

	CStr255_AC	folderName, fileName, tmpStr;	// 07-09-09 make tmpStrCStr255 instead of CStr31




// 09-10-09
make photad target build

updated version numbers to .13

// 09-09-09
fix bug that cause ck chooser printing to crash
GWorldPtr TDropView::Draw4Printing(bool preview, bool saveToFile)

fix bug to remember last used database
void TImportFileWindow::OpenDatabaseForThisSittingFolder()


// 08-21-09 
use Teps-Databurn.app for burning CD's in Macys version 
bool TPreviewImageWindow::BurnCDFolder(FSSpec	fs)		// 10-12-05


// 2009-08-21steve
somehow forgot to remove the "what" in 
				// 2009-08-21 DisplayNormalMessage ( "\p What" );

	// 2009-08-21steve
#ifndef __TepsXShareNewVersion__
	getMyBarcodeAppPrefs()->printSpecialPackageOnReturnToMain = false;
#endif
	


// 2009-08-20steve
after getting version from edwin
fix wording in rsrc for barcode
added macappAlert 1091

// 2009-08-20edwin
new special package feature on return to main
TBarcodeAppPreferences
bool TPreviewImageWindow::PrintSpecialPackage()	// 08-20-09
bool TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)
change view 1088 in Teps-X Share new.rsrc

// 2009-08-20steve
copy changefor fixes with the barcode reader mode
ThumbnailListView.cp
		aView->FindSubView('pict')->ViewEnable(false, false);		// 08-20-09
							//DisplayNormalMessage(tmpFileName);	// 08-20-09 remove line
 
// 2009-08-19steve
clean up some excess system error messages per noerr's complaints
we were constantly revealing the names of the .dsStoret and t2 files
even though i cleanueup abunch of spots, the main one is the setpermission function
where it's exposing the name of the two hidden files
.ds store t
.ds store t2

// 08-18-09
// 08-20-09
create support for DNP DS-40 and DNP DS-80 printer

create ScrollBar zoom support

// 08-14-09
replace function name getMyCanvas with 		getCanvasFromMasterList


// 08-11-09
remove "What" message
bool	TTeps2000Application::DoIdle(IdlePhase	thePhase)

when dragging in new special mode process command immediately and flush mouse down events afterwards
void TDropPreviewImage::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC thePoint) 


// 2009-08-11steve
copied changes from steve 2009-08-07steve
for checking for parental control
photoAdController.h
	NSString*	fRetTitle;			// 2009-08-07steve - parental control restriction

photoAdController.m
// 2009-08-07steve
- (NSString*) getTitle
{
	return fRetTitle;
}
				// 2009-08-07steve
				if ([self getTitle] )
				{
					NSLog (@"Restricted Internet Access returned: [%@]", [self getTitle]);
					validData = false;
					return -2;	// 2009-08-07steve
				}

	if ([elementName isEqualToString:@"title"]) 	// 2009-08-07steve
	{
		fRetTitle = [[NSString alloc] initWithString:fCurrentStringValue];
		if (gDoVerbose) NSLog(@"fRetPhotographer is: [%@]\n\n",fRetTitle);
	}

	if ([elementName isEqualToString:@"title"])	// 2009-08-07steve - for cases where the website is blocked parental control
	{
		isValid = YES;
	}


NewAboutBoxController.mm
					// 2009-08-07steve
					if ( status==-2 )
					{
						NSRunAlertPanel (	@"Please Contact Your Administrator...",
										 @"Your internet access may be restricted via parental control.\n[%@]",
										 @"OK",
										 nil,
										 nil,
										 [aController getTitle]
										 );
					}

// 08-10-09
remove all references to getCurretnCanvas when printing
bool TNodeViewObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
GWorldPtr TDropView::Draw4Printing(bool preview, bool saveToFile)
bool TDropView::CreateJobFile4BackgroundPrinting(bool now)
GWorldPtr TCDPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)

close all tools window after delete key to clear image
void TDropPreviewImage::DoKeyEvent(TToolboxEvent* event)

after searching for underscore search for ' copy' pattern to prevent customer folder names with copy in it
CStr255_AC	getCustomerNameFromFileName(CStr255_AC	fileName)	// 5-18-04

// 2009-08-03steve

// fix for kaman hue - not being read in at start sitting of new images

	color->hueAdjust		= getMyCocoaImageColorDefaults()->hueAdjust;			// 08-03-09	



// 2009-07-30steve
need to save/load Mitsu8000 media prefs
// 2009-07-30steve
class tMitsu8000WriteClass : public MStreamable_AC
	{
		MA_DECLARE_CLASS;
	public:
		tMitsubishiPrefPtr	fMediaPref;
		
		void WriteTo(CStream_AC	*astream);
		void ReadFrom(CStream_AC	*astream);
		bool SetPrinter(short	printer);
	};

myReadMitsu8000MediaPrefs();	// 2009-07-30steve
myWriteMitsu8000MediaPrefs();	// 2009-07-30steve






// 2009-07-27
make sure the ck rotation is the same as the original input rotation
		if (loadCKPropertiesFromFile(this->GetFile(), &ckProp)==false)
		{
		}
		else
		{
			// 2009-07-27steve
			ckProp.imageSettings.rotation = fRotation;
			saveCKPropertiesToFile(this->GetFile(), &ckProp);
		}



	UpdateSplashScreenMessage ( "Validating Your License" );	// 2009-07-23steve // 2009-04-09steve

added FactoryDefault.plist
added NewAboutBoxController.mm to Processor Project
Updated the nib file



// 2009-07-22 gave serge a version

// 2009-07-21
gave version for todd


// 2009-07-21
// 2009-07-20

1. added more update to better show current key status with levelIndicator



// create fsref from path
FSRef fsref;
FSPathMakeRef ( posixPath, &fsref, &isdirectory);

// create fsspec from fsref
FSSpec fsspecPath;
		err = FSGetCatalogInfo(&fsref, 
							   kFSCatInfoNone, 
							   NULL,
							   NULL,
							   &fsspecPath,
							   NULL);

// gave to serge for Kaman
// 7-16-09
stop gap measure to prevent teps from working if UNABLE to write to hidden security key files
bool	canWritePrintCountFile()	// 07-16-09
bool doKeyCheckMethodForPhotoAd(bool	forceInterNetCheck)
{
	if (canWritePrintCountFile()==false) return false;		// 07-16-09



// 7-13-09 from edwin
1. fix drawing of thumbnail of ck template
	UCKfolderList.cpp


// 2009-07-10steve
fix issue with security key
NewAboutBoxController.h
NewAboutBoxController.m
photoAdController.h
photoAdController.m
NewAboutBoxController.nib


steve - remember to put back

// 2009-07-01steve	NSString *phpCommandFormat = @"http://ptbservices.phototouchinc.com/index.php?fuseaction=keys.getkey&serno=%@&keypw=merlinw1zard&printsused=%@&ckprintsused=%@";


// 2009-07-10
Use New Color Adjust
Drag and drop mode
replace view 1204 with new color adjust controls

void TDragAndDropToolWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TDragAndDropToolWindow::ApplyColorSettingsToAll(bool	all)		// 07-10-09
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TDropPreviewImage::UpdateToolWindowSettings()		// 5-19-04
void TDropPreviewImage::SetSelected(bool	doSelect) 
void TDropPreviewImage::ApplyCKPropertiesToAllFiles()		// 3-16-05
void TDropPreviewImage::LoadCKPropertiesFromFile()	// 10-19-04
void TTEPSFileHandler::ApplyCKSettingsToAllImages(tCKImageProperties	*saveProp, FSSpec	srcFS)	// 07-10-09
void TTEPSFileHandler::ApplyZoomShiftColorSettingsToAllImages(TImageFileObject	*anObject)	// 3-3-04
void TTEPSFileHandler::ApplyColorAdjustSettingsToAllImages(TImageFileObject	*anObject, bool marked)	// 7-21-04
void TCIFilterColorAdjustView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TPreviewImage::StartEdit()		// added five functions 4 virtual 2-5-02
void TOneUpPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
void TOneUpPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TOneUpPreviewImage::SavePropertiesToFile(TImageFileObject	*anObject)	// 3-5-03
void TOneUpPreviewImage::Rotate(CommandNumber	aCmdNumber)		// 3-2-04

replace view 2138 with new color adjust controls


// 2009-07-10
display the path of sitting folder in the popup item?
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03

// 2009-07-09
fix issue where it displayed only the first 31 characters of file name in the preview mode
bool TStampObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi)

fix issue where name had funny hex character if longer than 31 in new all tools window
void TDropPreviewImage::StartEdit()	// 4-12-04

honor do not display wanings and errors when clicking print canvas and not enoughimages marked
Boolean TTepsPrintHandler::MarkedEnoughImages(templateInfo	*aTemplate)

// 2009-07-07
reenable variable angle view if it was disabled because one of the objects did not have variable angle enabled
void TDropPreviewImage::StartEdit()	// 4-12-04

// 2009-07-03
show about box date/time in long format

// 2009-07-02
fix enabling/disabling menu items when in tepsShare mode
void TTeps2000Application::DoSetupMenus()
#ifdef __TepsXShareNewVersion__		
		if (doKeyCheckMethodForPhotoAd())	// 07-02-09


// 2009-07-02
convert the shareKey expiration date/time in the about box




// 2009-06-30edwin
when clicking set Default in new all tools window change alert message to include color adjust, ALRT 1089
void TDropPreviewImage::SetSettingsAsDefault()

change alert message when saving settings to template file, ALRT 1090
void TNewAllToolsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 2009-06-30
1. fix reset of variable angle rotation (direct connnect)
2. fix display of thumbnailview orientation when auto ck is on or point and shoot is on (direct connect)


// 2009-06-22
fix issue with accidental dragging...
void TDropPreviewImage::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC thePoint) 
					unsigned long finalTick; // 06-22-09
					Delay(10L,&finalTick); 
					if (Button())



// 2009-06-18
// 6-18-09
fix issue with quickZoom and color background
void TPreviewImageWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
				this->BecomeTarget();		// 06-18-09 deselect items and force an update before passing offscreen
				dropView->ForceRedraw();
				dropView->Update();
dropview.cp
fix issues where the package prints the wrong  template if the current canvas is not the same as the package


teps-x.rsrc
change MENU 2044 to show
"6800, 6850"



// 2009-06-11 LATER
for quickZoom, honor external monitor pref
void TPreviewImageWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
				DoPrintPreviewWithSlideWindow( myDuplicateGWorld(dropView->fDrawOffscreen), nil, 1, 1, nil, nil);	// 06-11-09
				//DebugOutputToScreen(myDuplicateGWorld(dropView->fDrawOffscreen)) ;


// 2009-06-11 before 5pm
only allow the quickZoom button visible in v15 versions
#if !(defined(__TepsXRevenueVersion__))	// 06-11-09
#if !(defined(__TepsXShareNewVersion__))	// 06-11-09

	if (FindSubView('quic'))
	{
		FindSubView('quic')->Show(false, kRedraw);
	}
#else	


// 2009-06-10
show the appname and version when forming the default save preference file name.
void SaveToNewPreferencesFile ()



// 06-10-09
force pref to ck mode only for regular Teps-Version if pref is set for new special mode
TTeps2000Application
void validatePreviewPrefs ( tPreviewPrefPtr ptr )	// 6-18-01

Quick Zoom
change view 1401
void TPreviewImageWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)


// 6-2-09
1. fix issue with wrong number of images being saved to cd write or removable media
2. prevent apple-Q or appleW when CD Write or Floppy Write Window is still in front


// 2009-05-26
// 2009-05-28
fix speed issue for PPC
fix file in use issues
CGImageRef	createMyScaledImage(CGImageRef	anImage)		// 05-21-09
CImageFile::CImageFile(FSRef *fileFSRef, short	firstAttr, short secondAttr)


fix some memory issues
CImageFile class
ImageFilter class

image size was displayed incorrectly
GWorldPtr	TNewAllFilesHandler::GetPreviewImage()



// 2009-05-20steve
1. go to correct software update page in about box
	GotoNSuRL ( @"http://www.triprism.com/support/login.php"); // 2009-05-20steve


// 2009-05-19
1. fix the Decrementing Counter problem
2. fix the Too many prints issue in NewSpecialMode in FG and save Template AsIs




// 2009-05-15
fix issues with junk mask
short TImageObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi, CStr255_AC	&fileName)
void TChromaKeyTools::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TCompositeMaskPicture::SetSelection2(tJunkMaskStructure	junkMask[4])	// 2-4-05
void TCompositeMaskPicture::SetOffscreen(GWorldPtr	anOffscreen)

// 2009-05-14
fix chroma key issue where operations window did not match preview
- (CGImageRef) createScaledCGImage			// 05-12-09


// 2009-05-12steve
1. reduce amount of info being sent in the email form


// 2009-05-12
fix memory problem with CImage class when using ImageFilter class to scale image
- (CGImageRef) createScaledCGImage			// 05-12-09
CImageFile::CImageFile(FSRef *fileFSRef, short	firstAttr, short secondAttr)


// 2009-05-07edwin late
add field fReplaceSpaces to TStampObject to replace spaces with 0x0d
void swapStampDesc(CStampDesc	*desc, bool isMotorolaVersion)
void swapFromHost_CStampDesc(CStampDesc	*desc, bool isMotorolaVersion)
void TStampObject::Set(CStampDesc		*stampDesc)	// 10-15-02
void TStampObject::Get(CStampDesc		*stampDesc)	// 10-15-02
CStr255_AC TStampObject::GetFileNameStampString(CStr255_AC	fileName)	// 4-21-06
CStr255_AC TStampObject::GetStringToDraw4Printing()
bool TStampObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi)
void TStampSettingsWindow::SetStampObject(TStampObject	*anObject)
void TStampSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

change view 1109 (I created 'Replace spaces checkbox bit you can rename it or move it around if you want)


// 2009-05-07edwin
fix bug with mounting backup servers, did not get saved
void TCustomizeBackupWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

fix the problem with reading and writing image properties on a server
void saveColorAdjustToFile(TFile	*aFile, myCocoaImageColorAdjustInfo	*color)			// 01-08-09
bool loadColorAdjustFromFile(TFile	*aFile, myCocoaImageColorAdjustInfo	*color)		// 01-08-09

void savePropertiesToFile(TFile	*aFile, tImageProperties	*prop)		// change 3-12-03
bool loadPropertiesFromFile(TFile	*aFile, tImageProperties	*prop)		// change 3-12-03

void saveCKPropertiesToFile(TFile	*aFile, tCKImageProperties	*prop)		// 6-22-04
bool loadCKPropertiesFromFile(TFile	*aFile, tCKImageProperties	*prop)		// 6-22-04

fix bug in zoom faster issue in (old) special one up mode 
void TNewCKToolWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

// 2009-05-07steve
1. added keyword to targets that require new about box logo
	TepsAboutLogo = NSString
	aboutForTepsShare.jpg
	aboutForTepsPhotoTouch.jpg
	



// 2009-05-01
make POS target compile (add newcoloradjust and photoadcontroller to target)
add constant #define kPrefKeyForTepsFactoryDefaultsV14			"Teps-X POS v14 Default Pref.plist"		// 05-01-09
add "Teps-X POS v14 Default Pref.plist" to project (duplicate of "Teps-X v14 Default Pref.plist" for now)

1. WE Need the total number of prints in MAIN MENU window
2. easy way to send/register SerialNumber to website


0.Added group called "CocoaStuff"

1.moved the correct imageView.h and imageView.m to the CocoaStuff subFolder

2. for each target - remove the original "teps-x v14 default pref.plist" from each target
		OR do u default back to original if the targetDefault.plist does not exist??
		
3. replace doWaitForServerResponse with didGetServerResponse


// 2009-04-29steve
// 2009-04-29steve - need to set a dummy name for the background targets to build
#ifdef kBackgroundPrintApp
	#define kPrefKeyForTepsFactoryDefaultsV14			"Teps-X v14 Default Pref.plist"	// 2009-04-29steve
#endif



// 2009-04-28
speed up zooming for multiple image ck views
void TDropPreviewImage::Prepare4Drawing(bool	forceRedraw) // 1-30-01 added bool forceRedraw default is true

keep mouse from sticking when zooming or shifting
void THoldMouseDownButton::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC	/*thePoint*/)		// 9-13-07

speed up zoom AND shifting, bigger step each second you hold down
void TNewCKToolWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TDropPreviewImage::ZoomFaster(bool	zoomIn, short step)		// 04-28-09


// 2009-04-27
added the #define kPrefKeyForTepsFactoryDefaultsV14 to the individual header files and duplicated current pref file (to be replaced with individual pref files
#define kPrefKeyForTepsFactoryDefaultsV14			"Teps-X photoAd v14 Default Pref.plist"		// 04-27-09
#define kPrefKeyForTepsFactoryDefaultsV14			"Teps-X photoTouch v14 Default Pref.plist"		// 04-27-09
#define kPrefKeyForTepsFactoryDefaultsV14			"Teps-X Share v14 Default Pref.plist"		// 04-27-09


// 2009-04-25steve
1. created the aggregate target

// 2009-04-24steve

1. changed version numbers 


processor changes

1. #define __TepsXShareNew__	true	// 2009-04-24steve

2. #define kTepsProcessorAppName in each target's precompileHeader file
		// 2009-04-24steve - defined based on target
		FSSpec	tmpFSSpec = {xappvRefNum,xappDirID,kTepsProcessorAppName};
		
	????? MAKE TEP-X Targets do the SAME???????????????????????

3. change the job headers between Processor and PrintCenter






// 2009-04-24
fix issue with disabling of variable angle rotation slider
bool TImageObject::Draw4DragAndDrop(TView	*view, short	dpi, CPoint_AC topLeftPoint, short rotation, bool	isColor, bool isMirror, 
void TDropPreviewImage::EnableAngleView (bool	enableAnyAngle)		// 04-24-09
void TNewCKToolWindow::SetDropView(TView	*aView, bool	doComposite)	// 5-19-04

remove adjust button in special new mode
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)

change title of toolwindow  in special new mode
view 2139 (Tools (New Beta))

if no print count file is found say forDemoOnly in Main window
CStr255_AC GetKeyTypeString ( TTepsSuperProKey* ptr )

start sitting and demo mode, no warning???
bool TMainWindow::HasStartSittingKey()


// 2009-04-23
use core image sliders in macapp window
class TCIFilterColorAdjustView

fix annoying problem not being able to move the floatw indow with all the tools inn special new mode
void TNewAllToolsWindow::DoPostCreate(TDocument	*aDocument)


// 2009-04-21
Teps-Processor
fix issue with wrong exclusion mask
void TBGPrintView::DoNewReadObjects(CStream_AC	*aStream, short count, bool	isCKSubJob)		// 10-31-03
Boolean TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)

Teps-X
fix issue with aut rotate ck template and using 2 image objkect in ck template
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now, TView	*aView)
short TDropView::WriteViewObjects(CStream_AC	*aStream, short	currentImage)	// 3-3-04


// 2009-04-21
update all Teps-Header files to have the #defines before the #include "constants.h"

fix bug that did not save zoom and shift image properties before double clicking on image
void TDropPreviewImage::DoZoomImage2 (short	showWhat)	// 10-18-04

// 2009-04-20
create function to determine if valid print count file exists
bool	hasValidPrintCountFile()		// 04-20-09

fix issue with select ck window and print count windows interfering
fix in resource, view 2142


// 2009-04-16
allow Teps-Share to show up if no clicks left to run as demo version
also implement gNewMehod constant to allow new http check with decrementing the server count

// 2009-04-14
change sliders of new color adjust window so as to adjust color immediately in operations window on letting go of the mouse

// 04-10-09 
fix for Core Image Resize with fComposite OFF

// 2009-04-06 edwin
add section to honor TAttribute object in Teps-X

// 2009-04-09steve
1. fix some display text strings


// 2009-04-06
v15.0.2
1. change newTepsShare processor logo


// 2009-04-03 later
v15.0.1 beta
1. remove prefs not avail for the new shareversion
2. fix pref view in #1088


// 2009-04-03
// release to todd
v15.0.0beta

// 2009-04-03
added target Teps-X Share and Teps-Processor Share based on photoAd target

add missing security key message for photoAd target
bool TGeneralPrintHandler::ValidateSecurityKey ( short printQuantity )

1. static BOOL gDoVerbose = false;	// 2009-04-03steve

// 2009-04-02
// 2009-04-01
1. fix issue with FG chooser printing not being logged correctly in the reports


2009-03-31steve
1. copy the document type extensions to the "tep-x pos-info.plist"

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleTypeExtensions</key>
	<array>
		<string>icns</string>
		<string>psd</string>
		<string>PSD</string>
		<string>ps</string>
		<string>PS</string>
		<string>tif</string>
		<string>TIF</string>
		<string>tiff</string>
		<string>TIFF</string>
		<string>png</string>
		<string>PNG</string>
		<string>jpg</string>
		<string>JPG</string>
		<string>jpeg</string>
		<string>JPEG</string>
	</array>
</dict>
</plist>


// 2009-3-31
remove new color adjust feature in Teps-X, leave it only in PhotoToouch and PhotoAd
void validatetMyNewOneUpPrefs ( tNewOneUpPrefPtr ptr )	// 10-11-04
void myNewReadPrefs()
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)
void TPreviewImageWindow::DoSetupMenus()


// 2009-3-30
fix the slow removing of thumbnails
void TThumbnailToolsView::DoPreviewImagesChoice(short	choice)	// 6-7-04
void TTEPSFileHandler::RemoveAllImages()		// 03-30-09
void TN_UPThumbNailView::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,

fix issue with invalid defocus value, swapping issue
bool readDefaultChromaKeySettings(fixcoef	*para)
bool	writeDefaultChromaKeySettings(tChromaKeySettings	*settings)


// 2009-3-27
fix issue with hue for PPC, no byte swapping
void swapMyCocoaImageColorAdjustInfo(myCocoaImageColorAdjustInfo	*color)		// 01-08-09
void swapFromHost_MyCocoaImageColorAdjustInfo(myCocoaImageColorAdjustInfo	*color)			// 01-08-09

also validate hue
void validateMyCocoaImageColorAdjustInfo(myCocoaImageColorAdjustInfo	*color)	// 1-22-09

load defaults did not load default hue setting
- (IBAction)handleDefaultButton:(id)sender

apply new color adjust setting to all or marked image
void TTEPSFileHandler::ApplyNewColorAdjustSettingsToAllImages(TImageFileObject	*anObject, bool marked)	// 03-27-09
bool TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)
void TPreviewImageWindow::DoSetupMenus()
created new MENU option in MENU 5
created new view 1825

// 2009-3-26
create function to store regular and ck prints to hidden file
long	writePrintQtyToFile(long	printCount, bool	ckJob)		// 2009-03-26

// 2009-3-26
fix bug where long graphics names cause problems when reading on other computers (hexa character issue)
bool TFileOverlaySettingsWindow::SelectOverlayFile()

also change view 1122 to show full graphics name

// 2009-3-24
change for Pit to do lower dpi previews only (output stays the same)
TPreviewWindowPrefs class
GWorldPtr TTepsPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
GWorldPtr TDropView::Draw4Printing(bool preview, bool saveToFile)



// 2009-03-03
//=======================================================
1. fix mouse clicking issue with ck templates view in the resources
	fix so that it does not do multiple selections
	
2. 	fix issue with both database window and barcode window showing up at the same time
	// 2009-03-03
	TPostWindowMenuCommand	*cmd = new TPostWindowMenuCommand(this, cDatabaseNotOpen, 30);
	cmd->Process();
	//gApplication->PostCommand(new TPostWindowMenuCommand(this, cDatabaseNotOpen, 30));	// 9-9-03

3. fix issues with not loading the correct graphics when autoSwitch CK template option is ON
				// 3-3-09 fix issue with changing graphics and autoRotateCKTemplate on

4. make the POS target build and link
	to FG
	genericUitlityxxx.xx
	imagefilter.xx
	imageview.xx
	dialogcontroller.xx

	to BG
	imagefilter.xx


// 2009-02-27
//=======================================================
fix issue in image property structure - very important!!!
typedef struct tImageProperties

add hue correction to new color adjust window

// 2009-02-26
//=======================================================
fix 'file in use' error, however does not seem to work for Steve

fix copying files to Teps-processor if duplicate to say ' copy 1.jpg' instead of '.jpg -1'
OSErr TTEPSFileHandler::SaveAndReturnSavedFSSpec(short vRefNum, long	parID, long	fileNumber, FSSpec *theFSSpec)


- need to check with edwin for fix save/load of ALL pref resources - make sure we are not forgetting some

// 2009-02-19
//=======================================================
1. updated the info.plist to allow images to be dragged onto app icon and auto open
2. fixed some minor text sizes in resource



// 2009-02-17
//=======================================================
copied from edwin dated 2-17-09
1. fixed issue with the NewSpecialCKmode to correctly check for "prompt for editable text" on ck canvas



// 2009-02-16
//=======================================================
copied from edwin dated 2-16-09
1. fix problem with accidentally unmarking first thumbnail after printing - even though we did not print the first thumbnail
	happened in the newSpecialCK mode

void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now, TView	*aView)
				if (mode!=kOneUpFillTemplateMode && mode!=kNewSpecialCKMode)	// 2-16-09 || becomes && 1-30-07
	
void TPrintView::FillInImageFSSpec4BGPrintingNew(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, FSSpec	ckTemplate)
				if (mode!=kOneUpFillTemplateMode && mode!=kNewSpecialCKMode)	// 2-16-09 || becomes && 1-30-07



// 2009-02-13steve copied from edwin for saving to prefs
// dated 2-13-09edwin
//=======================================================

1. updated myCopyFileUtils.c - copy some of the missing teps-x prefs to dictionary
- backup folders
- floppy write prefs
- Mitsubishi 3800
- Mitsubishi 9800





// 2009-02-12steve
//=======================================================

1. fix backup to server issues
bool TBackupFilesCommand::SaveAsCustomType(FSSpec	copyFSSpec, short	fileType)
#ifndef kRemoveKeyStuff
	if ( GetTpiKeyHandler () && GetTpiKeyHandler ()->GetTPIKeyTypeFound() < kTPIKeyType3 )
	{
		#ifndef __TepsXPhotoAdVersion__	// 2009-02-12steve - PhotoAd/PhotoTouch Versions			
		::PrintForDemo(anOffscreen,true);
		#endif
	}
#endif

2. fix return main issue with photoAd/photoTouch
void TTEPSFileHandler::CheckIfDeleteAllImages()
#ifdef __TepsXPhotoAdVersion__		// 2009-02-12steve
	// for photoAd/photoTouch - if NO monitor - we need to return automatically
	#ifndef kBackgroundPrintApp
	if ( getMyBarcodeAppPrefs()->doDisplayMessageToUser==false) // 2009-02-12steve Assumes NO Monitor connected
	{	
		return;
	}
	#endif
#endif

3. fix the processor to decrement the correct count for photoAd/photoTouch
in the processor - also read first from file before writing to it...
short TSpoolerPrintView::PrepareForPrinter()
	// 2009-02-12steve - need to read value first and then subtract it correctly
	long curCount = readPrintCountFromFile();
	long newCount = curCount - dummyPrintQuantity;
	if ( newCount < 0 ) newCount = 0;
	writePrintCountToFile ( newCount );	// 2009-02-12steve- PROBLEM might have permission prob with two apps reading/writing the same file????

4. show photoAd/photoTouch license counter value
CStr255_AC GetKeyTypeString ( TTepsSuperProKey* ptr )
				sprintf ( displayTypeStr, "License Version [%i] (0x%02x)", countValue, countValue ); // 2009-02-12steve - show counter value


5. show counter value in Processor and FG for photoAd and PhotoTouch
show type to "License Version"
CStr255_AC GetKeyTypeString ( TTepsSuperProKey* ptr )
{
#ifdef __TepsXPhotoAdVersion__ // 2009-02-04steve = keyless version
	return "License Version";	// 2009-02-12
#endif

		// 01-30-08steve
		if ( strlen(ptr->fKeyVersionString)==0 || strlen(ptr->fKeyTypeString)==0 )
		{
			sprintf ( displayTypeStr, "%s", " For DEMO ONLY ");

#ifdef __TepsXPhotoAdVersion__ // 2009-02-04steve = keyless version - must log on to server
			// 2009-02-12steve sprintf ( displayTypeStr, "%s", "License Version"); // 2009-02-04steve
			{
				extern long	readPrintCountFromFile();
				long countValue = readPrintCountFromFile();
				sprintf ( displayTypeStr, "License Version [%i]", countValue ); // 2009-02-12steve - show counter value
			}
#endif



6. change global variable gPrintCount to local - Not sure if it will cause more problem with reading and writing to hidden file
also change type to long instead of int

bool checkForNet(bool	forceInterNetCheck)
{
	long	gPrintCount = 0;	// 2009-02-12steve - make local and LONG

long	writePrintCountToFile(long	printCount) // recast to long
	// 2009-02-12steve
	if ( printCount < 0 )
		printCount = 0;

long	readPrintCountFromFile( void ) // 2009-02-12steve force void

short GetKeyTypeString_FG ( TTepsSuperProKey* ptr, CStr255_AC &counterValueString, CStr63_AC &myKeyTypeStr )
short GetKeyTypeString_BG ( TTepsSuperProKey* ptr, CStr255_AC &counterValueString, CStr63_AC &myKeyTypeStr )


7. remove "for demo only" from the backup file
bool TBackupFilesCommand::SaveAsCustomType(FSSpec	copyFSSpec, short	fileType)
		#ifndef __TepsXPhotoAdVersion__	// 2009-02-12steve - PhotoAd/PhotoTouch Versions			
		::PrintForDemo(anOffscreen,true);
		#endif





// 2009-02-11steve
//=======================================================
1. for photoAd/photoTouch - isValidPhotoAdFile returns true if NOT camera Hot Folder
bool isValidPhotoAdFile ( CStr255_AC tmpName )
	#ifndef kBackgroundPrintApp	// 2009-02-11steve - we need to not do this if not CameraHotFolder mode
		if ( getMyInputPrefs()->kind == kCamera && getMyInputPrefs()->input==kDummyCameraInput ) // 2009-02-11steve
			return true;
	#endif
		
2. fix issue where backing up the files to backup server was not working if NO physical Green key Even in PHotoAd/photoTouch versions
void TBackupFilesCommand::DoIt()
	#ifndef __TepsXPhotoAdVersion__	// 2009-02-11steve - PhotoAd/PhotoTouch Versions
			if ( curKeyHandler && curKeyHandler->GetTPIKeyTypeFound() < kTPIKeyType3)
			{
				ApplicationBeep();
			}
			else
	#endif




// 2009-02-10steve

0. added 1261 resource to PhotoAd.rsrc - so that we can see more buttons in a smaller packageWindow

1. fix dragging issues especially when in 
void TDragAndDropToolWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
		case 'zmin':if (GetSelectedView() != nil && eventNumber==mHoldMouseDownButton)	// 1-29-01
		case 'zmot':if (GetSelectedView() != nil && eventNumber==mHoldMouseDownButton)	// 1-29-01
		case 'left':if (GetSelectedView() != nil && eventNumber==mHoldMouseDownButton)	// 1-29-01
		case 'up  ':if (GetSelectedView() != nil && eventNumber==mHoldMouseDownButton)	// 1-29-01
		case 'righ':if (GetSelectedView() != nil && eventNumber==mHoldMouseDownButton)	// 1-29-01
		case 'down':if (GetSelectedView() != nil && eventNumber==mHoldMouseDownButton)	// 1-29-01

2. fix security key issue with photoad/phototouch when OSPrintCenter or CD
short CheckForDefaultValidKeyPermission ( TTepsSuperProKey* ptr, short printQuantity, Boolean doSpool )
{
	short	doAllow			= false;
	printf ( "CheckForDefaultValidKeyPermission\n" );
#ifdef __TepsXPhotoAdVersion__		// 2-10-09
	return doKeyCheckMethodForPhotoAd();
#endif	




// 2009-02-09


// copied change from edwin to make sure to call validate function at time of reading prefs
void myNewReadPrefs()
	validateStartSittingPrefs ( getMyStartSittingPrefs() );		// 02-06-09

// copied change from edwin to force "hidden" startsittingChoice to kSpecialAllInCopy
void validateStartSittingPrefs(tStartSittingPrefPtr ptr)	// 2-5-01
	ptr->defaultStartSittingChoice		= kSpecialAllInCopy;	// 02-06-09






// 2009-02-06steve

remove possible debug message??
void HandleShowPI(TView* theView,const CViewPoint& theMouse,TDataPackage* theDataPackage)
#ifdef __TepsXPhotoAdVersion__									// 6-04-08
	// 2009-02-06 DisplayNormalMessagePascal("\pDragged down an image!");
#endif



// 2009-02-05steve

Open issues:

1. we need to display the License Key remainder amount ie from server??

2. dont know if i've commented out stuff that regular Teps will not be using photoTouch new prefs...

3. for kCustom4BaseNameType for phototouch - NEED Edwin to add more UI to allow user to type in formatter string

4. look into whether ALL the prefs are read/written with appropriate swap functions



// 2009-02-05steve
// 2009-02-04steve

Basically Now, PhotoAd and PhotoTouch versions are almost the same...
PhotoTouch belongs to PhotoTouch customers
PhotoAd belongs to TriPrism customers
Teps-Share is similar to photoAd - except it requires a key and monitor...

had to add new pref to FG and BG for Both PhotoAd and PhotoTouch
so that we can configure for systems with a monitor and systems withOUT a monitor

eg - benihana does NOT monitor - so we dont want a dialog window to stop the process accidentally
and our newer camera types - NEEDs a monitor

remember - some resource have NOT have macappView - but does have standard resources like STR# and etc...
eg - we want the About box to show photoTouch, Inc info instead of triprism info



changed a bunch of resources...



// for Processor for PhotoAd and PhotoTouch
// added "TepsBackgroundHeaders_xcode_n PhotoTouch.h"
// added "Teps-Processor PhotoAd.rsrc"
// added "Teps-Processor PhotoTouch.rsrc"



// added member doDisplayMessageToUser to structure tBarcodeAppPrefs, *tBarcodeAppPrefPtr;
	short		doDisplayMessageToUser;		// 2009-02-05steve
	
	unsigned char	reserved[126];	// 2009-02-05steve was 128
	
} tPrintServerPrefs, *tPrintServerPrefPtr, **tPrintServerPrefHandle;




// 2009-02-05steve
need to split out the Picts and STR# resources
Teps-X PhotoAd.rsrc
Teps-X PhotoTouch.rsrc

CMNU #1 - make it more generic


// added member doDisplayMessageToUser to structure tBarcodeAppPrefs, *tBarcodeAppPrefPtr;
	short			doDisplayMessageToUser;				// 2009-02-05steve 'dem5'
	// 2009-02-05steve
	getMyBarcodeAppPrefs()->doDisplayMessageToUser = false;	// 2009-02-05steve
	if ( FindSubView('dem4') )
	{
		getMyBarcodeAppPrefs()->doDisplayMessageToUser = ((TCheckBox*)FindSubView('dem4'))->IsOn();
	}

// use doDisplayMessageToUser pref to present dialog to user or not
void DisplayNormalMessagePascal( Str255 s )




we need to display the License Key remainder amount ie from server??

dont know if i've commented out stuff that regular Teps will not be using photoTouch new prefs...

checkout the whole "ssh' issue

for kCustom4BaseNameType for phototouch - NEED Edwin to add more UI to allow user to type in formatter string

figure out the whole problem with hidden popup identifier - how to force it correctly???
		// 2009-02-03steve?????? if (((TPopup*)this->FindSubView('ssch'))->GetCurrentItem()==kSpecialAllInCopy)


aboutbox = 1015
splashscreen = 1018




// 2009-02-04steve later
1. 	CStr255_AC GetKeyTypeString ( TTepsSuperProKey* ptr )
		sprintf ( displayTypeStr, "%s", "License Version"); // 2009-02-04steve






// 2009-02-04steve - v14.5.2 as released to todd

1. fix view for 'rad7' - 
	// dont know why we cnat change the radios - but we need to force to 'fff2" case to use
	// next available number
			AdjustForCustom4Mode(); // 2009-02-04steve

2. logos PICTs #310 and #312 for FG
	and BG - PICT# 410 - still need #310 for BG
	
created PhotoTouch Target = same as PhotoAd except for logos, company name, etc...
created "Teps-X PhotoTouch.plist"
created "Teps2000Headers_xcode_n PhotoTouch.h"

// make sure to invoke the correct procsessor
#define  __UsePhotoTouchResources__ true	// 2009-02-04steve - for now - used to declare the correct processor app
	// 2009-02-04steve
	#ifdef __UsePhotoTouchResources__
		pstrcpy(tmpFSSpec.name, "\pTeps-Processor PhotoTouch.app");	// 2009-02-04steve
	#endif

created "Info-TepsProcessor PhotoTouch.plist"


// 2009-02-03steve


getMyNewOneUpPrefs()->enableNewColorAdjust
1043 = start sitting setup
1382 = copy folder prefs for start sitting
1264 = 'stbn' -> 1264
const ResNumber		cResNumConfigCameraHotFolder		= 1090;	// 09-29-07

#ifdef __TepsXPhotoAdVersion__

1. changed photoAd Version to new logos - PICTs #310 and #312
190 x 527
105 x 280

2. duplicated 1018 view for photoad info

3. 1701 - Visit Us Online...

// added to structure tBarcodeAppPrefs, *tBarcodeAppPrefPtr;
// add new pref for doNotAutoEnterStartSitting
	short			doNotAutoEnterStartSitting;			// 2009-02-03steve 'dem4'

1382 - copy folder prefs for start sitting
'stbn' -> 1264
added 'vue7' and 'rad7'

#define	kCustom4BaseNameType	6	// 2009-02-03steve
added kCustom4BaseNameType for phototouch - NEED Edwin to add more UI to allow user to type in formatter string


4. create function to get date with formatter via std c
bool getStdCDateTime ( char *timeBuffer, const char*dateFormatter )

5. added kCustom4BaseNameType for phototouch - NEED Edwin to add more UI to allow user to type in formatter string
void AdjustBaseNameOptionView (TWindow *topWindow, tCopyImagesPref	*ptr )
		case kCustom4BaseNameType:	// 2009-02-03steve
			baseNameTypeString = "Custom4 (PhotoTouch)";

// get new name from getStdCDateTime
CStr255_AC	createNameForSittingImages ( CStr255_AC baseName, long aValue, CStr255_AC ext )
	if ( getMyStartSittingPrefs()->copyPrefs.newName.type==kCustom4BaseNameType )

// dont prompt for baseName if kCustom4BaseNameType
OSErr TDummyCameraHandler::ProcessFunction8()
			if (getMyStartSittingPrefs()->copyPrefs.newName.type==kCustom4BaseNameType) // 2009-02-03steve

// get new name from getStdCDateTime
IDType TCustomServerCopyHandler::GetBaseName()	// 10-25-00
		else if (getMyStartSittingPrefs()->copyPrefs.newName.type==kCustom4BaseNameType) // 2009-02-03steve


// 'rad7'

void TCustomFileNameWindow::HandleRadios (TEventHandler* source)
		case 'rad7': // 2009-02-03steve

void TCustomFileNameWindow::SetViews()
			if (FindSubView('vue7')) FindSubView('vue7')->Locate(CViewPoint(200,200), kRedraw); // 2009-02-03steve





// for freezeframe  - added vue6 and rad6 for backward compatibility



// 12-16-08 NEED to document changes





// 12-12-08
define print mode popup for Shinko 2145
MENU 1090, view 1819
Teps-X
void goToCHCS2145MediaPrefSettingsWindow(tMediaTypePrefPtr	ptr)
Teps-Processor
CRect_AC	TSpoolerPrintView::GetOutputRect(tPrintInfoStruct	*printInfo)		// 8-23-06


new version number between processor and print center
#define kPrinterSpoolerVer15			0x0215					// 12-12-08

// 2008-12-10
v14a69
switch order of search for nikon camera esp for D700
some sort of conflict with another library

OSErr TNikonCameraHandler::FindCamera()
			// 2008-12-10 find type0001 cameras first
			bool doType0001First = true;	// 2008-12-10steve





// 2008-12-04
// 12-04-08
// added pref to bypass invocation of macPos.app in the teps-xPos version
// v14a68

	short			doNOTUseSesionPrinting;			// 12-04-08	
	unsigned char	reserved[194];	// 12-04-08	// 11-11-08 10-17-08	//05-22-08steve [204];

Boolean setMyBarcodeAppPrefToFactoryDefaults ( tBarcodeAppPrefPtr ptr )
	ptr->doNOTUseSesionPrinting			= false;	// 12-04-08

// added new pref for sceneToBelieve
	if ( FindSubView('dses') )	// 12-04-08
		getMyBarcodeAppPrefs()->doNOTUseSesionPrinting = ((TCheckBox*)FindSubView('dses'))->IsOn();

void TBarcodeAppPreferences::SetSettings(tBarcodeAppPrefPtr ptr)
	if ( FindSubView('dses') )	// 12-04-08
		((TCheckBox*)FindSubView('dses'))->SetState(getMyBarcodeAppPrefs()->doNOTUseSesionPrinting, kRedraw);


// 2008-11-24
1. fix issue with saving images for macys v12 with the correct orientation (ie the entire buffer need to be rotation)


// 2008-11-21
remove call to appleEvent to teps-ftpuploader
				// 2008-11-21steve - myCocoaSendAppleEventWithReply ( 'TPIf', 'teps', 'upnw', 0 );


// 11-20-08
// 11-21-08
new custom 3 name option for Freeze Frame
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01
void AdjustBaseNameOptionView (TWindow *topWindow, tCopyImagesPref	*ptr )
void TCustomFileNameWindow::SetViews()
void TCustomFileNameWindow::EnableMoreOptionsViews ( IDType identifier )
bool TCustomServerCopyHandler::ProcessFunction1()
IDType TCustomServerCopyHandler::GetBaseName()	// 10-25-00
bool TStartSittingCopyHandler::ProcessFunction1()


// 11-20-08
speed up thumbnails
GWorldPtr TAllFilesHandler::GetThumbnailImage()

// 11-18-08
change issue with key counter UInt16
short ProcessClickCountAfterPrint ( TTepsSuperProKey* ptr, short printQuantity )

save floppy write options
void TFloppyWritePrefObject::WriteTo(CStream_AC	*astream)			// 11-18-08
void TFloppyWritePrefObject::ReadFrom(CStream_AC	*astream)		// 11-18-08
void myWriteFloppyWritePref( bool doSynchNow )
void myReadFloppyWritePrefs()		// added 11-18-08
void myNewWritePrefs()
void myNewReadPrefs()

don't add underscore to image name when using original name when name is already unique
GWorldPtr TFloppyPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
short 	TFloppyPrintHandler::DoPrint(GWorldPtr	anOffscreen, Boolean	doPreview)

save Olmec800 media type
bool tMyMediaWriteClass::SetPrinter(short	printer)


// 11-17-08
fix Teps-X POS issue when printing 3+ packages
bool TSessionPrintWindow::ReadUpdatedPOSFile()
long	TImporter::NewReadImportFileWithDelimiter(TFile	*importFile, Byte	recordDelimiter, Byte	fieldDelimiter, char		dataString[kMaxRecordSize])		// 11-17-08

add new stamp (kCustomFilenameStampChoice) to allow for partA_partB_partCD name
void TStampObject::Set(CStampDesc		*stampDesc)	// 10-15-02
void TStampObject::Get(CStampDesc		*stampDesc)	// 10-15-02
TStampObject::TStampObject()
CStr255_AC TStampObject::GetStringToDraw4Printing()
bool TStampObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi)
void TStampSettingsWindow::SetStampObject(TStampObject	*anObject)
void TStampSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)



// 2008-11-03steve
// 11-13-08 from edwin - missing "breaks"
1. fix findCanvasNameInPrint2FileSetList to not fall thru the case statements


// 2008-11-11 edwin
new option for PhotoAd version to print portrait/lndscape package
void TBarcodeAppPref::WriteTo(CStream_AC	*aStream)
void TBarcodeAppPref::ReadFrom(CStream_AC	*aStream)
Boolean setMyBarcodeAppPrefToFactoryDefaults ( tBarcodeAppPrefPtr ptr )
void validateBarcodeAppPrefs ( tBarcodeAppPrefPtr ptr )
TBarcodeAppPreferences::~TBarcodeAppPreferences()
void TBarcodeAppPreferences::SetSettings(tBarcodeAppPrefPtr ptr)
void myNewReadPrefs()
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03


// 2008-11-06
1. fix issue with never applying embedded profile
somehow that code was commented out


// 2008-11-04 edwin
fix slow .cr2 thumbnail images
CImageFile::CImageFile(short	thumbnailOnly, FSRef *fileFSRef)
GWorldPtr	TNewAllFilesHandler::GetThumbNailImage()
GWorldPtr TAllFilesHandler::GetThumbnailImage()



// 2008-11-04steve
copied changes for crop issue
	//if ( getRectOrientation (CRect_AC(0,0, hRatio, vRatio)) != getRectOrientation(imageRect) )
	if ( getRectOrientation (CRect_AC(0,0, cropRect.right, cropRect.bottom)) != getRectOrientation(imageRect) )	// 11-03-08 steve I think you wanted to do this



// 2008-10-31steve
copy changes to fix 8660 jobs to printCenter
void	TSpoolerPrintView::ApplyColorSettings(short	printer)			// 3-14-06


// 2008-10-31
copy changes from edwin for using new navigation windows Dated 10-23-08
void TTeps2000Application::PrintAllOrders()	// 4-8-03
void TTeps2000Application::CreateCustomerInfoFiles()	// 12-12-03



// 2008-10-21steve
// release as v14a63.6
hide "manually release" button in window #1406

// 2008-10-21
Version 13 had the ability to create a folder with three names (separated by underscore). Somehow got lost.
void swapStampDesc(CStampDesc	*desc, bool isMotorolaVersion)
void swapFromHost_CStampDesc(CStampDesc	*desc, bool isMotorolaVersion)
void TStampObject::Set(CStampDesc		*stampDesc)	// 10-15-02
void TStampObject::Get(CStampDesc		*stampDesc)	// 10-15-02
TStampObject::TStampObject()
CStr255_AC TStampObject::GetStringToDraw4Printing()
bool TStampObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi)
void TStampSettingsWindow::SetStampObject(TStampObject	*anObject)
void TStampSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
short FindPosFromPosition(const CStr255_AC& pattern, CStr255_AC& source, short position)	// 10-21-08
view 1209
MENU 1088

// 2008-10-20
fix bug that showed funny characters when clicking on empty node in drag and drop mode
void TDropPreviewImage::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC thePoint) 

remove extra number text (35) from view 1101

fix bug where the UP-DR200 Media Options weren't being remembered when you quit and reopen TEPS X.
bool tMyMediaWriteClass::SetPrinter(short	printer)

 

// 2008-10-17
make preference for new negative quantity method to be able to turn it off
add Resource file Teps-X POS.rsrc
void TSessionPrintWindow::SendAllJobsToSpooler()
Boolean setMyBarcodeAppPrefToFactoryDefaults ( tBarcodeAppPrefPtr ptr )
void TBarcodeAppPref::ReadFrom(CStream_AC	*aStream)
void TBarcodeAppPref::WriteTo(CStream_AC	*aStream)
TBarcodeAppPreferences::~TBarcodeAppPreferences()
void TBarcodeAppPreferences::SetSettings(tBarcodeAppPrefPtr ptr)

// 2008-10-14
// 2008-10-16
create feature that interprets negative quantity being entered from the macPos to print the difference only
create class TPrintDataList, TPrintDataObject
void TGeneralPrintHandler::SetCanvasQuantity(short	qty)		// 10-14-08
void TSessionPrintWindow::CreatePrintDataList()		// 10-16-08
constant cPrint_Canvas_Batch
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now, TView	*aView)
short TGeneralPrintHandler::Print()
short TGeneralPrintHandler::PrintCanvas()



// 2008-10-14
fix issue with UPC Code, should be length plus 1
void TPackageEditWindow::WritePackage()
void TPackageEditWindow::SetPackageNumber(short	packNum, bool isNew)
short getPackageNumberFromUPC(CStr255_AC	upc)		// 9-4-08
CStr255_AC GetMyPackageUPC(short	item)		// 8-27-08


// 2008-10-02steve
1. fix issue with UPCCode field being overflowing
#define kUPCCodeMaxLen 15	// 11	// 2008-10-02steve
// 2008-10-02steve - why is FF sparebytes 14? not 18 = 11+7??

	// 2008-10-02steve memcpy(&gPrintPackage.UPCCode, &tmpStr[0], 10);

void TPackageEditWindow::WritePackage()
	// 2008-10-02steve - make sure we constrain and not exceed UPCCode[] buffer size
	short maxCopyLen = std::min(tmpStr.Length(),kUPCCodeMaxLen );
	memcpy(&gPrintPackage.UPCCode, &tmpStr[0], maxCopyLen);

void TPackage::ReadFrom(CStream_AC	*aStream, tPrintPackage	*aPackage)
	if (aPackage->UPCCode[0] > kUPCCodeMaxLen) memset(&aPackage->UPCCode, 0, sizeof(aPackage->UPCCode));	// 2008-10-02steve use constant	// 9-10-08


// 2008-10-01steve
1. fix issue with deleting days old sitting folder
2. make D700 show up with the nikon D3/D300
#define	cNikonCameraString_D3xx		"Nikon D3/D300/D700 ubc\0"	// 2008-10-01 added D700 // 01-04-08	// D3 and D300 Type0001


// 2008-09-30steve
1. fix issue where processor would crash if there is a bad job (but dont know how bad job got written???)



// 2008-09-29steve
// release v14a62 to serge nancy spaceshots
1. make the write to floppy also accept cf-card as a floppy...



// 2008-09-26steve
wait 2 secs in the photoAd mode before copying the image from the hot folder into the main images folder
it appears that we dont see a tempFile name of any sort first...
bool  File ( CStr255_AC tmpName )
{
	bool isValid = true;
#ifdef __TepsXPhotoAdVersion__
	waitfor(120); // 2008-09-26steve




// 9-23-08
fix issue with group photo (an other one that I dont understand how it worked in v13)
void TGroupPhotoObject::SetCurrentCategory()
bool IsExistingGroupPhotoFile(FSSpec	*fs, CStr31_AC	category)


// 9-19-08
add Teps-X Macys target and make it compile
still work to do on writing preferences


// copied changes
GeneralPrintHandler
fix schoolphotography with customer orders
void TSchoolPhotographyView::PrintOrder()	// 8-7-00
{
	tStudentOrderStruct	aStruct[kMaxStudentOrderPkg];
	GetPackageQuantities(aStruct);		// 9-16-08 this can not work????
	
	aStruct = fTempStruct;				// 9-16-08 try temp variable

copied other changes from edwin during the last few days...



// 9-4-08
verify order
void TSessionPrintWindow::SetNewPrintRecords(tSessionPrintStruct	printRecords[kNumberOfSessionPrintItems], short	numberOfRecords)		// 9-4-08
bool TSessionPrintWindow::AddItem(long	imageNumber, long	packageNumber)
void TSessionPrintWindow::RemoveItemFromQueue(short selectedItem)
short getPackageNumberFromUPC(CStr255_AC	upc)		// 9-4-08


Modal window 1407

// 8-29-08
create function to get/set MacPOS directory
FSSpec	getPOSDirectory()	// 8-29-08
void TSessionPrintWindow::CreatePOSFile()
bool TSessionPrintWindow::ReadUpdatedPOSFile()

fill in actions in DoHandleDoScriptCommandFromMacPOSApp

only display error string if error
OSErr GetValidFileFSSpec ( CStr255_AC newLongName, FSSpec *srcFSSpec, bool doCreate, bool doReplace )

fix yearbook photo the name is nil issue
void getYearbookPhotosAndProcess(FSSpec	fs)		// 9-18-03
short 	TBGPrintView::Print2File(GWorldPtr	anOffscreen)


// 8-27-08
call MacPOS to start new order after writing file
void TSessionPrintWindow::PrepareForSendJobsToSpooler()

create new function 
OSErr mySendStartOrderEvent()		// 8-27-08

start setup for receiving commands
void TTeps2000Application::DoScriptCommand(CommandNumber aCommandNumber,

create new function to get package UPC
CStr255_AC GetMyPackageUPC(short	item)		// 8-27-08

write out MacPOS order file in new format
void TSessionPrintWindow::CreatePOSFile()


// 8-26-08
Disable print canvas tab, does not seem to disable both tabs
void TPrintToolbarWindow::DoPostCreate(TDocument	*aDocument)

created kiosk window with 18 buttons
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)

prevent space bar from grabbing image
void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)

use shortDate for custom folder name choice which follows international formats
CStr31_AC	getCustomFolderName()

declare temporary structure for customer order mode issue
void TSchoolPhotographyView::EndPreview(TImageFileObject	*anObject)
void TSchoolPhotographyView::UpdateCustomView ()
bool editPackageQuantity(GWorldPtr	offscreen)



// 8-22-08
fix annoying update bug in print preview window
bool TMyProgressIndicator::Continue(long howMuch)

make stop button work correctly and show text on it for print preview window
GWorldPtr TPrintView::Draw4Printing(short	dpi, short	imageNumber, templateInfo	*aTemplate, GWorldPtr	offscreen, CRect_AC	tmpRect,
GWorldPtr TDropView::Draw4Printing(bool preview, bool saveToFile)
GWorldPtr TDropView::Draw4CKPrinting(short	dpi)	// 9-13-04

view resource 9001 in Progress.rsrc

// 8-21-08
make save as is attribute only work for print to file
void TPrintJobTaskManager::DoNextTask()

fix issue with multiple selection of chroma key option icons
bool TMyIconRadio::HandleMouseDown(const CViewPoint& theMouse, TToolboxEvent* event,
							   CPoint_AC hysteresis, EMouseDownType mouseDownType)

fix issue with multiple selection of tabs
create class TMySmallTabbedView
changed views 2135 and 2139

fix issue with selection of new ck template while leaving window open, it loaded the incorrect image
void TPreviewImageWindow::SetNewCKTemplate(FSSpec	tmpFSSpec)		// 4-9-04


// 8-20-08
fix bug where exclusion mask was not determined correctly because it could not read preperties from attributes
short TImageObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi, CStr255_AC	&fileName)

// 8-19-08
use TImporter class to read in updated POS file
void TSessionPrintWindow::ReadUpdatesPOSFile()
TDataList *TImporter::ReadImportFileWithDelimiter(TFile	*importFile, Byte	recordDelimiter, Byte	fieldDelimiter)		// 8-19-08

use geMyInputPrefs()->doAutoPreviewNewImageToExtMon to detremine whether or not to open Teps-Previewer App
void TInputPreferences::GetSettings()		// 4-25-06
void TInputPreferences::SetSettings(tInputPrefPtr	ptr)


// 8-18-08
check for securotey key before adding package to queue in POS mode
bool	validateSecurityKey()	// 8-18-08
bool TSessionPrintWindow::AddItem(long	imageNumber, long	packageNumber)


photoAd - look for 8-8-08 for previews
see photoAdController for checking security key

line 945 Uteps2000Applications
STR#4002 list of all the exact printer anmes
#ifdef _TepsMitsubishiVersion_							// 6-29-05
	if (anListMenu)
	{
		while (CountMenuItems(anListMenu) > 0)
			DeleteMenuItem(anListMenu,1);
		
		/*
		myAppendMenu(anListMenu, "\pMitsubishi CP8000D");
		myAppendMenu(anListMenu, "\pMitsubishi 9000/9500");
		myAppendMenu(anListMenu, "\pMitsubishi 9550");
		myAppendMenu(anListMenu, "\pMitsubishi CP-3020DU");		// 5-16-06
		myAppendMenu(anListMenu, "\pMitsubishi CP-3020DAU");	// 5-16-06
		*/
		
		// 07-21-06 change order per ed from mitsu
		myAppendMenu(anListMenu, "\pMitsubishi 9550");
		myAppendMenu(anListMenu, "\pMitsubishi CP-3020DAU");
		myAppendMenu(anListMenu, "\pMitsubishi CP-3020DU");
		myAppendMenu(anListMenu, "\pMitsubishi 9000/9500");
		myAppendMenu(anListMenu, "\pMitsubishi CP8000D");
	}
#endif



pos -
sessionPrintWindow.cp
resID = 1404, 1405, 1406
put whole thing in subview...

writing job file
void TSessionPrintWindow::CreatePOSFile()




// 2008-08-11

1. fix Processor PHOTOAD - to send out a different job number
#define kPrinterSpoolerJobFromPhotoAd		0xa000			// 2008-08-11steve additional header needed for photoAD
#ifdef __TepsXPhotoAdVersion__
	#define	kCurrentPrinerSpoolerVers	kPrinterSpoolerJobFromPhotoAd + kPrinterSpoolerVer14 + kPrinterSpoolerJobFromTepsXcode;	// 2008-08-11steve
#else
	// 208-08-11steve	#define	kCurrentPrinerSpoolerVers	kPrinterSpoolerVer14 | kPrinterSpoolerJobFromTepsXcode;	// 10-25-07
	#define	kCurrentPrinerSpoolerVers	kPrinterSpoolerVer14 + kPrinterSpoolerJobFromTepsXcode;	// 10-25-07
#endif

2. CALL a different "Teps-Print Center PhotoAd.app"
short TSpoolerPrintView::PrepareForPrinter()
#ifdef __TepsXPhotoAdVersion__
		FSSpec	tmpFSSpec = {xappvRefNum,xappDirID,"\pTEPS-PRINT CENTER PhotoAd.app"};	// 2008-08-11steve call a different version
#else
		FSSpec	tmpFSSpec = {xappvRefNum,xappDirID,"\pTEPS-PRINT CENTER.app"};	// 02-26-03 add dash
#endif




// 7-18 through 7-22-08
create POS version


// 6-30-08
change contrast popup create MENU 1086 swith on the fly when changing between 9800 and other printers with contrast table
void TMitsubishiPrinterPrefs::SetSettings(tMitsubishiPrinterPrefPtr	ptr)

short TSpoolerPrintView::FinishJob()
set color conversion to None when colorsync profiles enabled for 9800 printer

// 06-23-08steve rename to version 14a57.5


// 6-16-08
1. fix byte-swapping issue with buffer to gworlds
short convertDKCtoGworld2 ( unsigned char *inBufferPtr, GWorldPtr myGworldPtr )
short convertDKCtoGworld3 ( unsigned char *inBufferPtr, GWorldPtr myGworldPtr )		// 8-26-05
short convertDKCtoGworld4Sepia ( unsigned char *inBufferPtr, GWorldPtr myGworldPtr )		// 5-10-04


// 6-13-08steve
1. fix 600 dpi issue for 3800 to resize(Stretch) to the 600 vPix only
2. fix the view of correct cutsize popups for 3800 8x10 and 8x12 options
short getOneChannelFromGWorldToOneHandle ( short whichChannel, GWorldPtr myGworldPtr, Handle onePlaneHandle, short doRotate )



// 6-12-08
added cut mode and 2 media types
MENU 1083, 1084
added resolution 300/600 dpi
MENU 1085
changed view 1077, 1824
files:
Mitsubishi9000MediaPrefs.cp
MitsubishiPrinterPreferences.cp
Teps-Processor
SpoolerPrintView.cp
use RGB Planar
bool TSpoolerPrintView::WriteStructureAndOffscreenToFile(tPrintInfoStruct	*printInfo, GWorldPtr	anOffscreen)


// 6-10-08
added Mitsubishi 3800

// 6-06-08
fix issue with distorted balloon view after clicking on graphic
void TFolderOverlayList::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC	thePoint) 

// 6-05-08
enable live scrolling only when Command key down
void TShowValueScrollBar::TrackScrollBar(short partCode)
void TShowValueScrollBar::DoMouseCommand(CViewPoint& theMouse,


// 6-04-08
add 'use monitor profile' option
void TColorSyncPrefObject::WriteTo(CStream_AC	*aStream)		// 9-28-07
void TColorSyncPrefObject::ReadFrom(CStream_AC	*aStream)		// 9-28-07
void swap_MyColorSyncPrefs(tColorSyncPrefs	&data, bool	isMotorola)
void swapFromHost_MyColorSyncPrefs(tColorSyncPrefs	&data, bool	isMotorola)
Boolean setMyColorSyncPrefToFactoryDefaults ( tColorSyncPrefPtr ptr )
TColorSyncPreferences::~TColorSyncPreferences()
void TColorSyncPreferences::SetSettings(tColorSyncPrefPtr	colorsyncPref)

speed up color adjust by keeping a duplicate 'original' image in memory
TDropPreviewImage::TDropPreviewImage()
TDropPreviewImage::~TDropPreviewImage()
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TDropPreviewImage::RedrawImageWithNewColorSettings(myImageColorAdjustInfo	colorAdjustSettings, bool	reloadFile)
GWorldPtr TDropPreviewImage::GetOriginalPreviewImage()

speed up dragging of thumbnails
void TThumbNailView::DoMouseCommand(CViewPoint& theMouse, TToolboxEvent* event, CPoint_AC hysteresis)

fix colorsync preference issues, they were not written
void TPrintView::WriteHeader(CStream_AC	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, TFile	*aFile)	// 12-8-03

Teps-Processor
short TBGPrintView::ReadObjects(FSSpec	fileSpec)

update version number
#define kBaseJobVersionNumber 	0x0000834	// 6-04-08

add message for PhotoAd target when image is dragged down from thumbnail bar
void HandleShowPI(TView* theView,const CViewPoint& theMouse,TDataPackage* theDataPackage)


// 05-29-08steve
1. fix issue where custom name mode was always prompting regardless if checkbox is on or off
				case 0: tmpString = getMyStartSittingPrefs()->defaultFolderName;				// replace dateStr with tmpString 5-29-08
						break;
				case 1: extern CStr31_AC	getCustomFolderName();				
						tmpString = getCustomFolderName();										// replace dateStr with tmpString 5-29-08
						break;



// 05-22-08steve
1. copied changes from edwin's 5-19-08 project related to "swapEditableTextWithLocationID"
	a. see 5-16-08 or 5-19-08 from edwin
	b. then steve may have renamed/added some to 5-22-08steve
	
2. decided to force it OFF when reading just in case
	getMyBarcodeAppPrefs()->swapEditableTextWithLocationID = aStream->ReadInteger();		// 05-19-08
#ifndef __TepsXPhotoAdVersion__	// 05-22-08steve
	getMyBarcodeAppPrefs()->swapEditableTextWithLocationID = false;	// 05-22-08steve - since this option is only changeable in photoad
#endif

3. steve reworded the text in the photoAd.rsrc



// 05-22-08steve
1. fix issue in photoAd where is multiple images come in at the same time,
they were not being loaded individually as to allow autoPrint to work...
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01
#ifdef __TepsXPhotoAdVersion__
								// 05-22-08steve - we want to force the scan to stop here - so that
								// the last image gets loaded into the thumbnail view also gets loaded into the operations
								// if we are AutoPrinting package or canvas
								if ( getMyBarcodeAppPrefs()->demoMode0==true || getMyBarcodeAppPrefs()->demoMode1==true )
								{
									InvalidateFolderModDate();
									break;
								}
#endif

2. fix possible color correct issues with using CIImage to read files
bool	TNewAllFilesHandler::IsValidFile(TFile *aFile)
bool	TNewAllFilesHandler::IsValidFile()
	return  ( 
			  // 05-22-08steve	pstrcomp2 ( (unsigned char*) ext, (unsigned char*) "\p.JPG" ) ||	// 03-27-08steve
			  pstrcomp2 ( (unsigned char*) ext, (unsigned char*) "\p.CRW" ) ||
			  pstrcomp2 ( (unsigned char*) ext, (unsigned char*) "\p.CR2" ) ||
			  pstrcomp2 ( (unsigned char*) ext, (unsigned char*) "\p.NEF" )
			  );

3. fix forced preferences
#ifndef __TepsXPhotoAdVersion__	// 05-22-08steve use correct constant name
	// if NOT photoAd version, this should always be forced
	getMyBarcodeAppPrefs()->demoMode0 = false;	// 04-10-08steve
	getMyBarcodeAppPrefs()->demoMode1 = false;	// 05-15-08steve demoMode1	// 04-10-08steve
#endif

4. copied appleEvent from 5-19 project
OSErr mySendAppleEvent(IDType	theMessage)		// 5-19-08

5. copied changes from edwin
sendAppleEvent to Teps-FtpUploader after a saveForWeb in photoAd version

6. Updated Teps-X PhotoAd.rsrc to include the new pref 'swed'
swapEditableTextWithLocationID




// 5-16-08steve
1. fix log message issue and the BG project not recognizing the 
#define  __TepsXPhotoAdVersion__ true		// 5-12-08



// 05-16-08steve
1. added tepsPhotoAdLog.txt file option
	so as NOT to output message to user

2. fixed issue with newCKMode and the tabs not being enabled/disabled
	when no ck image in newCKMode
	



// 05-15-08steve
1. fix issue with autoDemoPrint issues when switching ck template
	when images rotates from one orientation to another orientation



// 5-14-08
add new file name renumbering option
	kNewImageNumberMode_UseTime:				// 5-14-08
CStr31_AC	getBaseNameNew ( tBaseNameStruct *newNamePtr )

add custom folder name option
void TCustomFolderNameWindow::SetSettings()
void TCustomFolderNameWindow::GetSettings()
OSErr TTeps2000Application::CreateCustomFolder()

change:
view 1263
view 1264


// 05-13-08edwin
updated one more package error string to use DisplayNormalMessagePascal
short	validatePackage(short	item, short	imageNumber)

reorganize resources
	Teps-X Share.rsrc, Teps-X Santastic.rsrc and Teps-X PhotoAd.rsrc only contain unique resources for App and will be linked first


// 05-12-08edwin
Add PhotoAd target to both projects
#define  __TepsXPhotoAdVersion__ true		// 5-12-08

Re-Add the two demo options to auto print when a new image comes in

add option to auto startup in start sitting mode
void  TTeps2000Application::InitializeApplication()

change package does not exist string to use DisplayNormalMessagePascal
short	validatePackage(short	item, short	imageNumber)

auto quit when receiving quit apple event even when in Operations window
void TTeps2000Application::DoScriptCommand(CommandNumber aCommandNumber,

// 05-12-08steve
1. copied changes from edwin to fix BIG leak in processor
void TBGPrintView::ProcessSubAsOutput()		// 12-1-04
{
	fOutputOffscreen = myDisposeGWorld(fOutputOffscreen);			// 05-12-08



// 05-06-08steve

1. copied changes from edwin
PrintServerPrefs.cp
fix annoying message display with garbage chars
void LaunchSpoolerApp(bool	check)
				DisplayNormalMessagePascal("Could not Start Spooler App because an Error occurred   "+tmpStr);	// 05-06-08 change to DisplayNormalMessagePascal

2. copied changes from edwin
TEPS-PROCESSOR - UImageObject.cp
fix double scope of the same variable
Boolean TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)
				//bool	success = false;	// remove this line 05-06-08




// 05-02-08steve
copied changes from edwin for mitsu popup preferences
fixed in resource files for Teps-X and Teps-Share



// 05-01-08

		case nilHandleErr:
			// 04-25-08 WE NEED TO FIND OUT HOW TO STOP THIS	DisplayNormalMessage(4102,8);
			break;



// 05-01-08
add Mitsubishi 9800 printer

// remove debug message when Teps-Processor does page with group photos
GWorldPtr	TGroupPhotoObject::GetFullSizeOverlayOffscreen()
{
	// 04-29-08steve remove message DisplayNormalMessagePascal(fFileSpec.name);


// fix double-shadow text problem
void TBaseTextObject::ResetText(CPoint_AC	topLeftPoint)	// 10-10-01
		for (CSubViewIterator iter(fView); iter; ++iter)		// 04-29-08
		{
			TView	*theSubView = iter;	
			if (theSubView->GetIdentifier() == 'pict')
			{
				((TDropPreviewImage*)theSubView)->fInitialized=false;
				((TDropPreviewImage*)theSubView)->Prepare4Drawing(false);
			}
		}



// 04-28-08steve
fix issue where ck templates would disappear when dragging mouse in new special (Teps-Share) mode
void TVerticalCKFolderList::SetCategory(CStr255_AC		category)		// 4-28-08 add function

make tools window in new special mode stay at the position where you last left it
also fixed mechanism TFloawWindowHandler to actually save the window position when you move them
#define kPrefKeyForFloatWindowDefaults		@"floatWindow  "			// 4-28-08
void myWriteFloatWindowPref( tFloatWindows	floatWindows[kNumberOfFloatWindows], bool doSynchNow )
void myReadFloatWindowPref(tFloatWindows	floatWindows[kNumberOfFloatWindows])		// 4-28-08
void TNewAllToolsWindow::Show(bool state, bool redraw)	// 4-28-08
void TNewAllToolsWindow::DoPostCreate(TDocument	*aDocument)

fix issue where single click will not load an image anymore
void TThumbNailView::DoMouseCommand(CViewPoint& theMouse, TToolboxEvent* event, CPoint_AC hysteresis)


// 04-25-08steve
1. try to fix the eFilm Card Reader NOT showing up under Leopard
remapped all removable drives as kOSVolType_CFlash under leopard - there's no difference
includes floppy, cruzer, pcCardReaders
as well as external firewire drives
bool GetOSVolumeType_IOKit ( short inVRefNum, eOSVolumeType &myVolumeType, eOSPortType &myPortType )
								if ( (std::strcmp( theName, "IOUSBMassStorageClass" ) == 0) )
								{
									identifiedVolumeType	= true;
									myVolumeType			= kOSVolType_CFlash;
								}




// Released as v14alpha52

// EDWIN - we NEED to fix NIL ERROR
// when dragging an image into the operations window in dragAndDrop mode
and other places too..
even double-clicking does it too..
		case nilHandleErr:
			// 04-25-08 WE NEED TO FIND OUT HOW TO STOP THIS	DisplayNormalMessage(4102,8);
			break;
			

// 04-25-08steve
1. just make the double-clicking work with the thumbnail view
void TThumbNailView::DoMouseCommand(CViewPoint& theMouse, TToolboxEvent* event, CPoint_AC hysteresis)
	bool allowSingleClickAndDrag = true;	// 04-25-08steve
	if ( allowSingleClickAndDrag )
	if (event->GetClickCount()==2)		// 04-25-08


change 2170 to do single Selection only
somehow make it NOT drag beyond 2 columns!!!

2. move up the newAllToolsWindows 
void TNewAllToolsWindow::DoPostCreate(TDocument	*aDocument)
	// 04-25-08steve
	if (getCurrentInputHandler()->IsStartSitting())		// 4-24-08 if start sitting move it up a little
	{
		newRect.top -= 40;
		newRect.bottom -= 40;
	}
	this->SetFrame(newRect, kRedraw);


3. got todd's new factory default pref for v14 teps-x





// 04-24-08steve
1. fix problem with zoom/shift NOT remembered when printing from package/kiosk window
		if (theType=='ok  ')
		{
			//((TPreviewImageWindow*)((TTeps2000Application*)gApplication)->fPreviewImagesWindow)->									// 4-24-08
			//PrintPackage(source->GetIdentifier()-'pck0', getMyPrintServerPrefs()->enableBackgroundPrinting, false, false);
			TPreviewImageWindow	*previewWindow = ((TPreviewImageWindow*)((TTeps2000Application*)gApplication)->fPreviewImagesWindow);
			previewWindow->SaveCurrentImageSettings();
			previewWindow->PrintPackage(source->GetIdentifier()-'pck0', getMyPrintServerPrefs()->enableBackgroundPrinting, false, false);
		}

2. fix saving/loading previewWindowPrefs
void TPreviewWindowPrefClass::WriteTo(CStream_AC	*aStream)
	aStream->WriteInteger(getMyPreviewPrefs()->previewFolderButtonDefault);							// 4-24-08
void TPreviewWindowPrefClass::ReadFrom(CStream_AC	*aStream)
	getMyPreviewPrefs()->previewFolderButtonDefault = aStream->ReadInteger();						// 4-24-08



// 04-24-08steve

1. fix dragging box issue N_UpThumbnailView.cp
void TN_UPThumbNailView::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)
			//if (!getMyInputPrefs()->useThumbNails || getMyPreviewPrefs()->thumbnailSize==kLargeThumbnailSize)			// remove 4-24-08
			//	show = false;

2. fix large thumbnail N_UpThumbnailView.cp
void TThumbNailView::DoMouseCommand(CViewPoint& theMouse, TToolboxEvent* event, CPoint_AC hysteresis)
	// PostCommand(NewDataDragger(aPIPackage)); move down 4-24-08
		else
			PostCommand(NewDataDragger(aPIPackage));		// moved down 4-24-08


// 04-24-08steve
1. fix old time color issue
bool ConvertOffscreenToSepiaNew ( GWorldPtr srcOffscreen, myImageColorAdjustInfo settings, GWorldPtr dstOffscreen, short	conversionType)	// 2-5-07
		// 04-24-08steve	ConvertOffscreenToSepia(dstOffscreen, settings, dstOffscreen);
		ConvertOffscreenToSepia(dstOffscreen, getMyOldTimePhotoPrefs()->fColorAdjustInfo, dstOffscreen);	//04-24-08 forgot to copy the changes	// 3-13-07

bool ConvertOffscreenToSepiaSpooler ( GWorldPtr srcOffscreen, myImageColorAdjustInfo settings, GWorldPtr dstOffscreen, short	conversionType, tOldTimePhotoPrefs	oldTimePhotoPrefs)	// 2-5-07
		// 04-24-08steve ConvertOffscreenToSepia(dstOffscreen, settings, dstOffscreen);
		ConvertOffscreenToSepia(dstOffscreen, oldTimePhotoPrefs.fColorAdjustInfo, dstOffscreen);	//04-24-08 forgot to copy the changes	// 3-13-07

2. fix byte swapping
bool fillPixelMap ( GWorldPtr worldPtr, long pixelColor )
				*curPixelPtr = CFSwapInt32HostToBig(*curPixelPtr); // 04-24-08steve



// 04-23-08steve
// fixed issues with older canon firewire cameras ie the EOS-1D series

// had to RE-Prototype the function
EdsError downloadImage(EdsDirectoryItemRef directoryItem, bool doInChunks=true ) ;	// 04-23-08steve


// we need to determine if it is a firewire canon camera or not
// also - context is now being passed with the current TMyCanonCameraHandler object
EdsError EDSCALLBACK handleObjectEvent( EdsObjectEvent event, EdsBaseRef  object, EdsVoid * context)		// 12-4-07
	bool doInChunks = true;	// 04-23-08steve
			if ( context )
			{
				TMyCanonCameraHandler *myInfo = (TMyCanonCameraHandler*)(context);
				if ( myInfo->fIsIEEE1394Camera )
					doInChunks = false;
			}

// added member variable in TMyCanonCameraHandler class
	fIsIEEE1394Camera = false;	// 04-23-08steve

// pass the current TMyCanonCameraHandler object to EDSCALLBACK handleObjectEvent
OSErr TMyCanonCameraHandler::FindCamera()
		error = EdsSetObjectEventHandler(fCamera,  kEdsObjectEvent_All, handleObjectEvent,  this);	// 04-23-08steve pass more info

// added more constants for the older camera
CStr255_AC	getImageQualityFromValue(EdsInt32	value)		// 12-20-07

// need a better solution to find the current camera settings
void TMyCanonCameraControlWindow::DoPostCreate(TDocument	*aDocument)
EdsError TMyCanonCameraControlWindow::BuildPopup( TPopup* curPopup, MenuHandle &curMenuHandle, EdsPropertyID curEdsPropertyID, EdsPropertyDesc *curEdsPropertyDesc, CStr255_AC (*getStringFromValue)(EdsInt32) )




// 04-16-08steve
// copied change to fix the popup menu for previewImage button from main menu
void TMainWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 04-15-08
// copied change for metatag rotation and autoCKtemplate and start sitting
void TDropView::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
				if (loadNewTemplateIfNecessary((TImageFileObject*)changeData)==true)	break;



// 04-15-08steve
fix group photo issue
Teps-X
void TGroupPhotoObject::WriteToNew(CStream_AC* aStream)
void TImageFileObject::IImageFileObject(TFile *aFile, float rotation)
void TImageFileObject::MarkAsStaticImage(short	newNum)	// 10-21-02

copy changes from my Core Image resize function in UImageObject.cp in Teps-Processor
Teps-X add item to MENU resource 1017 --> Core Image Resize Demo

// 04-14-08steve
1. fix issue with security key at startup
bool checkForValidKeyAtStartup ( TTepsSuperProKey* ptr, bool doExitToShell )




// 4-14-08steve
1. fix more issue with for demo only
short TBGPrintView::SendToPrinter(GWorldPtr	outputOffscreen)
#ifndef kRemoveKeyStuff
	// 04-14-08steve	if ( true == GetTpiKeyHandler()->CheckDoPrintForDemoBG ( dummyPrintQuantity ) )
	if ( CheckDoPrintForDemo ( GetTpiKeyHandler(), dummyPrintQuantity ) )	// 04-14-08steve
	{
		// dont have enough key count or not the right type of key!!!
		PrintForDemo(outputOffscreen);
	}
#endif
#ifndef kRemoveKeyStuff
		// 04-14-08steve	GetTpiKeyHandler()->ProcessClickCountAfterPrint ( dummyPrintQuantity );
		ProcessClickCountAfterPrint ( GetTpiKeyHandler(), dummyPrintQuantity );	// 04-14-08steve

#endif		


short TBGPrintView::SendToPrinter(GWorldPtr	outputOffscreen)
#ifndef kRemoveKeyStuff
		// 04-14-08steve	GetTpiKeyHandler()->ProcessClickCountAfterPrint ( dummyPrintQuantity );
		ProcessClickCountAfterPrint ( GetTpiKeyHandler, dummyPrintQuantity );	// 04-14-08steve

#endif		

Boolean TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)
#ifdef kRemoveKeyStuff
		if (fDoComposite)	// 10-23-01
#else	
		// 04-12-08steve if (fDoComposite && GetTpiKeyHandler()->GetHasChromakeyFeature())	// 10-23-01
		if (fDoComposite && GetHasChromakeyFeature(GetTpiKeyHandler()) )	// 04-14-08steve // 10-23-01
#endif



Boolean TImageObject::Draw4PrintingNew(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)	// 12-11-02
#ifdef kRemoveKeyStuff
		if (fDoComposite)	// 10-23-01
#else	
		// 04-14-08steve if (fDoComposite && GetTpiKeyHandler()->GetHasChromakeyFeature())	// 10-23-01
		if (fDoComposite && GetHasChromakeyFeature(GetTpiKeyHandler()) )	// 04-14-08steve	// 10-23-01
#endif






1. fix more issue with share versiona nd key
void TBackgroundPrintApp::IBackgroundPrintApp()
/* 04-14-08steve - dont need??
#ifndef kRemoveKeyStuff
	CreateTpiRainbowKeyHandler();
	tpiRainbowKey* curKeyHandler	= GetTpiKeyHandler ();
	if ( false == GetTpiKeyHandler()->CheckIfValidKeyForThisApp() )
	{

#ifndef _VendorVersion_
		ApplicationBeep();
		ApplicationBeep();
		ApplicationBeep();
		// remove 3/6/01	DisplayNormalMessage ( "\p Invalid or Missing Triprism Key!!!" );
		// added 3/6/01
		extern void DisplayMissingSecurity ( );
		DisplayMissingSecurity();
		ExitToShell();
#endif
	}
#endif
*/
#ifndef kRemoveKeyStuff
	// 04-14-08steve	GetTpiKeyHandler()->CheckForKeyCountRunningLow ();
	CheckForKeyCountRunningLow ( GetTpiKeyHandler() ); // 04-12-08steve
#endif    



// 4-14-08steve
1. copied fix for bug with the newSpecialCK mode and print to file
	if ((theView->GetPrintMode()==5 || theView->GetPrintMode()==6) && theView->HasSubJob() && theView->IsDrawingSubJob()==false)	// 4-14-08
2. tried to fix redraw issue
			myNewApplicationPollEvent();		//4-14-08
3. force quit it missing proper key in share and amusematte versions
			doExitToShellIfKeyNotValid = true;	// 04-14-08steve - force it to quit


// 04-12-08steve

1. remove amuseM.h from teps-share headerin FG and BG
2. fix teps-share precompiled headers FG and BG for Shared version
// 04-12-08steve	#define	kRemoveKeyStuff	true
3. remove tepsBackgroundHeaders_xcode_d.h from all FG targets


// 04-10-08steve

EDWIN - i see that u have a teps-amusematte - maybe we can use the tepsSantastic that i duplicated
and removed the options?? or??

1. copied changes for SelectImageWindow.cp
2. removed the processor from RENAMING the "teps-printcenter/jobsToBePrinted" folder path
		// 04-10-08steve STOP RENAMING... FSpRename(&(tmpFS), CStr255_AC(kPrintCenterFolderString));	// 11-14-03
3. fix barcode pref view - so that it wont crash if the views are missing
	'sant'
	'dem0'
	'dem1'
4. force some prefs after reading based on which teps-vesion
	// 04-10-08steve - we NEED to force some of the prefs based on the Targets
#ifndef kAmuseMatteVersion_
	// if NOT santastic version, this should always be forced
	getMyBarcodeAppPrefs()->enableSantastic = false;		// 04-10-08steve
#endif

#ifndef kTepsPhotoAdVersion_
	// if NOT photoAd version, this should always be forced
	getMyBarcodeAppPrefs()->demoMode0 = false;	// 04-10-08steve
	getMyBarcodeAppPrefs()->demoMode0 = false;	// 04-10-08steve
#endif

4. duplicate .rsrc for each of the target builds






// 04-08-08
1. copied fix for large thumbnail view (dated 4-07-08)
2. fixed alpha channel not being masked correctly
bool mySetGworldAlphaChannelToByteValue ( GWorldPtr sGWorldPtr, unsigned char alphaByte )
				*sPixelPtr = tempPixel;	// 04-08-08steve




// 04-07-08
fix view 1247 to not be resizable

fix save key parameter option not to show file type popup
OSErr CMyNavigation::SaveFile(FSSpec	*fs)

fix save key parameter option not to show default file name
OSErr MySaveFile(const FSSpecPtr defaultLocationfssPtr, CStr255_AC	defaultName, OSType	saveFileType, CStr255_AC	windowTitle)
void CTepsNavClass::SetDefaultName(CStr255_AC	defaultName)		// 04-07-08
void CMyNavigation::SetDefaultName(CStr255_AC	defaultName)		// 04-07-08

swap key parameter setting to read and write PPC format
void SaveKeyParameterToFile ( TFile *aFile, fixcoef *aPARA)
void TChromaKeyView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 04-04-08
add Teps-Share key

fix bug with long graphics file name
GWorldPtr	TFileOverlayObject::GetOverlayOffscreenFromRecordNumber()
GWorldPtr createCacheFileForOffscreen(GWorldPtr	offscreen, FSSpec	tmpFSSpec, long creationDate, long modDate, CRect_AC	tmpRect)
bool SaveOffscreen2CacheFileNew ( GWorldPtr anOffscreen, FSSpec	fileSpec, long creationDate, long modDate, CPoint_AC	origSize)	//12-23-02


call 	myNewApplicationPollEvent wherever we called myApplicationPollEvent to produce more update in Teps-Processor
myApplicationPollEvent();		// 04-04-08 replaced myApplicationPollEvent

fix save all or marked to file
void TTEPSFileHandler::SaveAllOrMarkedAs(CommandNumber	aCmdNumber, bool showProgress)

fix saving as PNG for web when shifting images, byte swapping issue
bool mySetGworldAlphaChannelToByteValue ( GWorldPtr sGWorldPtr, unsigned char alphaByte )


// 04-03-08
add alert 1087 do warn before deleting barcode data

create customer folder too for new custom2 mode
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )

fix bug that caused multiple drives not to show for pc-card copy, remove #ifdef in:
pascal	short countNumberOfVolumes (eOSVolumeType	checkVolumeType, Str255	volumeNames[6], short	vRefNums[6])	// 3-7-06

auto fill customer name with military time in customer order mode and start sitting
bool setCurrentStudent(CStr255_AC	theString)
TBarcodeAppPreferences


// 04-01-08
add Teps-Processor Share target, add compiler header and plist file and change pref name

add kEnterPreviewWindowBarcodeChoice constant for preview mode
add item to MENU 2000 and 2005
void TMainWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

add 'View' 1317

fix for drawing thumbnails
void TMyThumbNailView::Draw(const CViewRect	&area)

fix to replace DoPollEvent mechanism
bool DoHandleDoScriptCommandFromBarcodeApp ( CommandNumber aCommandNumber, TAppleEvent* message, TAppleEvent* reply );	// 09-05-07
OSErr TDummyCameraHandler::ProcessFunction7()

make sure to set database prefs to default so delitmiter default is tab
void setAllMyDefaults()



// 03-28-08
// 03-30-08
add Teps-Share target
	- Teps2000Headers_xcode_n Share.h
	- Teps-X for Share-Info.plist -> add kAllowBarcode change preferences file name
verify changes in UTeps2000Application, DummyCameraHandler, and PreviewImageWindow
Add view 8000-8003 to Teps-X.rsrc file
update MENU 1011 to have 'TepsBarcode Folder' as 5th item

add demo buttons to auto print current canvas and package 1
BarcodeAppPreferences.cp and .h
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)

use AmuseMatte Key for this moment

// 03-28-08
add print to file feature custom 2 to save to folder that is created with part of foldername before underscore
void tPrintToFileWriteClass::WriteTo(CStream_AC	*astream)
void tPrintToFileWriteClass::ReadFrom(CStream_AC	*astream)
bool setMyPrintToFileItemPrefToFactoryDefaults ( tPrint2FileItemPtr	ptr, short	which)
void goToPrint2FileItemPrefSettingsWindow(tPrint2FileItemPtr	ptr)
void TPrintToFileSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)	// 10-2-07
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )


// 03-27-08steve

1. use NSImage to read jpegs
bool	TNewAllFilesHandler::IsValidFile(TFile *aFile)
bool	TNewAllFilesHandler::IsValidFile()
	return  ( 
			  pstrcomp2 ( (unsigned char*) ext, (unsigned char*) "\p.JPG" ) ||	// 03-27-08steve
			  pstrcomp2 ( (unsigned char*) ext, (unsigned char*) "\p.CRW" ) ||
			  pstrcomp2 ( (unsigned char*) ext, (unsigned char*) "\p.CR2" ) ||
			  pstrcomp2 ( (unsigned char*) ext, (unsigned char*) "\p.NEF" )
			);
2. fix rotation issue with autoSwitch ck template ON
short	TImageFileObject::GetOrientation()	// 3-3-04
{
	if (fOffscreen==nil)			// 3-27-08
	{
		short	theImage = getCurrentInputHandler()->GetFileList()->GetEqualItemNo(this);
		getCurrentInputHandler()->SetCurrentFile(theImage);
		fOffscreen = getCurrentInputHandler()->GetThumbnailImage();
		
	}

3. fix saving of templates issue
void TLayoutView::WriteTo(CStream_AC	*aStream) const

4. fix funny chars in message in template view
short TLayoutView::SaveChanges(bool	showDialog, bool saveAs)

5. make version string show entire counter value in mainwindow
void TMainWindow::DoPostCreate(TDocument	*aDocument)
	CStr255_AC			swVersion		= "\pUnknown Version";	// 03-27-08steve




// 03-21-08steve
Need to USE NEW Lib for RESCANNING Security KEY -
Should Improve SPEED especially for the processor!!!!

NEED TO CHECK TEPS-X FOR LOOPHOLE IF ANY???

why is scanning for security key so SLOW???




// 3-21-08teve

1. fix more issues with canon camera like the mark III so that camera can take shots
NEED to SET the Capacity Property
OSErr TMyCanonCameraHandler::FindCamera()
	if ( !fIsLegacy ) // 03-21-08steve - extras to do for PTP Cameras
	{
		if ( !isLocked )
		{
			error = EdsSendStatusCommand(fCamera, kEdsCameraStatusCommand_UILock, 0);
			if ( error==EDS_ERR_OK )
			{
				isLocked = true;

				EdsCapacity capacity = {0x7FFFFFFF, 0x1000, 1};
				error = EdsSetCapacity(fCamera, capacity);
			
				if ( isLocked )
					EdsSendStatusCommand(fCamera, kEdsCameraStatusCommand_UIUnLock, 0);
				
				if ( error!=EDS_ERR_OK )
				{
					DisplayNormalMessage ( "UNABLE to Set the Camera's Buffer Size!\nPlease Check Camera Body!!" );
				}
			}
		}
	}


2. fix issue where controls were not being sent to canon
EdsError TMyCanonCameraHandler::SetProperty(EdsPropertyID inPropertyID, EdsInt32  inParam,  const EdsVoid* inPropertyData)	//12-17-07
	BOOL		canWrite		 = YES;	// 03-21-08steve	NO;	// 03-03-08steve

3. add more ISo settings for canon camera
		case 0x0000006b:	return "2000"; //03-21-08steve
		case 0x0000006d:	return "2400"; //03-21-08steve

4. from edwin - fix issue with zoom/shift values not carried trhu
void TTEPSFileHandler::ApplyZoomShiftColorSettingsToAllImages(TImageFileObject	*anObject)	// 3-3-04
					loadPropertiesFromFile(anObject->GetFile(), &prop);					// 3-21-08

5. from edwin - fix minor update to thumbnail view
void TN_UPThumbNailView::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)
			if (FindSubView('tn00'+theNum))
			{
				FindSubView('tn00'+theNum)->Invalidate(FindSubView('tn00'+theNum)->GetQDExtent());	// 3-21-08
				//FindSubView('tn00'+theNum)->ForceRedraw();
				FindSubView('tn00'+theNum)->Update();
			}


// 03-20-08steve

// copy changes from edwin from last few days...


// fix NOT being able to build in leopard and run back in tiger???
//03-20-08steve	CStr31_AC	gCategory 	= gEmptyString;	// 1-22-03
//03-20-08steve CStr31_AC	gName 		= gEmptyString;	// 1-22-03
CStr255_AC	gMyCategory 	= gEmptyString;	// 3-17-08 change variable name
CStr255_AC	gMyName 		= gEmptyString;	// 3-17-08 change variable name

// oneUpPreviewImage.h // 3-17-08
	void 	SetGraphicsOffscreen(CStr255_AC myCategory = gEmptyString, CStr255_AC myName = gEmptyString);	// 03-20-08steve reprototype// 5/8/01
	void 	GetCategoryAndFilename(CStr255_AC	&myCategory, CStr255_AC	&myName);	// 03-20-08steve reprototype
	CStr255_AC	fCategory;				// 03-20-08steve changed from CStr31_AC	// 5-8-01
	CStr255_AC	fGraphicsFileName;		// 03-20-08steve changed from CStr31_AC	// 5-8-01


// previewImageWindow.cp
CPoint_AC TPreviewImageWindow::GetOffsetOfPreviewImage(CPoint_AC	&previewImageSize, short	&zoomValue, CStr255_AC& myCategory, CStr255_AC	&myName)	// 3-17-08
{
	CPoint_AC	theOffset = CPoint_AC(0,0);
	if (fMode == kOneforAllMode)
	{
		((TOneUpPreviewImage*) FindSubView('cpic'))->GetCategoryAndFilename(myCategory, myName);	// 3-17-08
		theOffset = ((TOneUpPreviewImage*) FindSubView('cpic'))->fOffset;
		zoomValue = ((TOneUpPreviewImage*) FindSubView('cpic'))->fSteps;
		if (((TOneUpPreviewImage*) FindSubView('cpic'))->fOffscreen)
		{
			CRect_AC	offscreenRect = myGetPortRect(((TOneUpPreviewImage*) FindSubView('cpic'))->fOffscreen);
			previewImageSize = offscreenRect.GetSize();
		}
	}
	return 	theOffset;
}


// previewImageWindow.h
CPoint_AC 	GetOffsetOfPreviewImage(CPoint_AC	&previewImageSize, short	&zoomValue, CStr255_AC& myCategory, CStr255_AC	&myName);	// 03-17-08steeve for edwin // 5-9-01
	
// UImageObject.cp
//????? Why only 31 chars????
		theOffset = ((TPreviewImageWindow*)aWindow)->GetOffsetOfPreviewImage(previewImageSize, fInsetSteps, myCategory, myName);
		fCategory = myCategory.Copy(1,31);
		fGraphicsName = myName.Copy(1,31);
	
	
	
	
	

// fix ck template and node object issues
void TNodeViewObject::FindImageInNodeAndSetFSSpec4DragAndDrop(FSSpec	imageFSSpec, CStream_AC	*aStream, short curImage)
		if (aLayoutObject->fType==kImageObjectType)			// 3-20-08
		{
			if (((TImageObject*)aLayoutObject)->fDoComposite)
			{
				((TImageObject*)aLayoutObject)->WriteChromaKeySettings(aStream);
			}
		}

in the processor
void TNodeViewObject::DoNewReadObjects(CStream_AC	*aStream)		// 10-31-03
		switch(classID.type)
		{
			case kImageObjectType:	
							aStream->ReadBytes(&imageDesc, classSize);
							
							swapImageDesc(&imageDesc, fIsMotorolaVersion);

							// copied from edwijn 03-20-08steve
							TImageObject	*anOnj = TImageObject::New(&imageDesc);
															
							if (imageDesc.doComposite)			// 3-20-08
							{
								TChromaKeySettings	*pref;
								
								pref->ReadFrom(aStream, &(anOnj->fCKsettings));
								
								tChromaKeySettings	settings = anOnj->fCKsettings;
								swapChromaKeySettings(&settings);
								
								anOnj->fCKsettings = settings;

								anOnj->fChromaKeySettings = settings.para;
								
								gInwardFlag 	= settings.inwardFlag;
								gDefocusValue 	= settings.defocusValue;
								gShrinkValue	= settings.shrinkValue;
								gExclusionMaskRect = settings.junkMask;
								anOnj->fJunkMask[1] = settings.junkMasks[1];
								anOnj->fJunkMask[2] = settings.junkMasks[2];
							}
							
							//fLayoutObjects->Insert((TLayoutObject*) TImageObject::New(&imageDesc));			// 3-20-08
							fLayoutObjects->Insert(anOnj);														// 3-20-08
							break;

// fix issue with ROOT fsspecs
void TPrintToFileSetPrefs::UpdateFolderString(tFolderFSSpec *ptr, bool saveAliasHandle)

	short	vRefNum = ptr->file.vRefNum;			// 3-20-08
	long	parID	= ptr->file.parID;
	if (((CStr31_AC&)ptr->file.name).Length()!=0)
		parID	= GetFolderDirID(ptr->file);
	
	if (IsExistingDirectory(vRefNum, parID))		// 3-20-08


// fix issue with raw thumbnails coming as blank // 3-13-08 from edwin
GWorldPtr TAllFilesHandler::GetThumbnailImage()
		if (tmpOffscreen!=nil) // 3-13-08 if not nil maybe let it fall through using new class to read thumbnails


// fix speed issues with start sitting and copying pc card images
OSErr TDummyCameraHandler::ProcessFunction7()
		myNewApplicationPollEvent();			// 3-14-08

short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01
							myNewApplicationPollEvent();				// 3-14-08
short TDummyCameraHandler::AddFilesToList4 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 6-25-04
		myNewApplicationPollEvent();			// 3-14-08

bool TMyProgressIndicator::Continue(long howMuch)
			//fProgressWindow->ForceRedraw();		// remove this line 3-14-08
			//fProgressWindow->Update();			// remove this line 3-14-08

// fix speed issue with meta-tag data
void TImageFileObject::IImageFileObject(TFile *aFile, float rotation)
	if ( doTestMetaData )
	{
		//CocoaContext context; // 03-14-08 by edwin steve
			//CImageFile	anImage(&fsref);				// 3-14-08 use new function that does not load fImage
			CImageFile	anImage(&fsref, true);				// 3-14-08 use new function that does not load fImage


// fix CImageFile for metatag images
CImageFile::CImageFile(FSRef *fileFSRef)
: fImage(NULL), fMetaData(NULL), fSaveMetaAndOpts(NULL)
{
	CocoaContext cocoa;
	
	/* // 03-20-08steve - commented out by edwin

	/* 03-20-08steve - commented out by edwin
	if ( source )

// created in class constructor
// 03-14-08 by edwin // 03-20-08steve
CImageFile::CImageFile(FSRef *fileFSRef, bool	toGetPropertyOnly)
: fImage(NULL), fMetaData(NULL), fSaveMetaAndOpts(NULL)
{










// 03-11-08steve
// remove UNLOCK message
OSErr TMyCanonCameraHandler::FindCamera()
			// 03-11-08steve remove annoying message especially if kEdsSaveTo_Host FAILS - camera not found
			// DisplayNormalMessage ( "Unable to UNLOCK camera" );



// 03-03-08


// still having some problems with canon
// still need a function to determine if a property can be SET or NOT???
EdsError TMyCanonCameraHandler::SetProperty(EdsPropertyID inPropertyID, EdsInt32  inParam,  const EdsVoid* inPropertyData)	//12-17-07




// copied changes from edwin

// fix issue with the left and right arrows in database window
void TImportFileWindow::SetPanelData(short desiredIndex)
	this->ForceRedraw();			// 3-3-08
	this->Update();	
	myNewApplicationPollEvent();





// 02-29-08steve
try to test speed issue with threading again????


// 02-28-08steve
more fixes related to old canon legacy cameras 
added warning to older camera if the back lcd panel is ON... user must turn it OFF!!!
OSErr TMyCanonCameraHandler::FindCamera()
	// 02-28-08steve
	if ( fIsLegacy )
	{
		error = EdsSendStatusCommand(fCamera, kEdsCameraStatusCommand_UILock, 0);
		if (error != EDS_ERR_OK)
		{
			if (fCamera)
			{
				error = EdsCloseSession(fCamera); 
				
				EdsRelease(fCamera);
				fCamera = NULL;
			} 

			DisplayNormalMessage ( "PLEASE MAKE SURE YOU TURN OFF the LCD Display On Back of Camera Body!!!" );
			return -1;
		}
		else
		{
			EdsSendStatusCommand(fCamera, kEdsCameraStatusCommand_UIUnLock, 0);
		}
	}


if a canon camera property does not exist - we need to empty out the popup and dim it
EdsError TMyCanonCameraControlWindow::BuildPopup( TPopup* curPopup, MenuHandle &curMenuHandle, EdsPropertyID curEdsPropertyID, EdsPropertyDesc *curEdsPropertyDesc, CStr255_AC (*getStringFromValue)(EdsInt32) )
	 else
	 {
		 // 02-28-08steve - we failed - descriptor does NOT exist
		 // just empty out the popup with N/A and dim it!!!
		 
		 char mesg[255];
		 sprintf ( mesg, "02-28-08steve Error inside TMyCanonCameraControlWindow::BuildPopup = [0x%x]", err );
		 // DisplayNormalMessage ( mesg );

		 while (CountMenuItems(curMenuHandle) > 0)
			 DeleteMenuItem(curMenuHandle,1);
		 curPopupItem = 1;
		 myAppendMenu(curMenuHandle, "\pN/A...");
		 (curPopup)->EnableItem(curPopupItem, false);
		 (curPopup)->DimState(true, kRedraw);
	 }




// 02-27-08steve

// try to fix OLD Legacy Canon Cameras Like the 20D

// 
// Basically - with the OLD Legacy Canon Cameras - we need to ALWAYS LockDown the UI before issuing commands!!!!!
// 

// created new variable fIsLegacy to determine OLD verses new cameras

class TMyCanonCameraHandler : public TCameraHandler, public TAllFilesHandler
	bool		fIsLegacy;	// 02-27-08steve

// make use of variable fIsLegacy to determine OLD verses new cameras
OSErr TMyCanonCameraHandler::FindCamera()
	// 02-27-08steve - need to set for legacy model or not
	if(error == EDS_ERR_OK) 
	{ 
		if(deviceInfo.deviceSubType == 0)
		{
			fIsLegacy = true;	// 02-27-08steve
			// DisplayNormalMessage ( "02-27-08steve FOUND OLD LEGACY Camera" );
		}
	}
	

// make use of variable fIsLegacy to determine OLD verses new cameras
EdsError TMyCanonCameraHandler::SetProperty(EdsPropertyID inPropertyID, EdsInt32  inParam,  const EdsVoid* inPropertyData)	//12-17-07
EdsError TMyCanonCameraHandler::GetProperty(EdsPropertyID inPropertyID, EdsInt32  inParam, const EdsVoid* inPropertyData)	//12-17-07
EdsError TMyCanonCameraHandler::GetPropertyItems(EdsPropertyID  inPropertyID, EdsPropertyDesc* outProperyDesc)		//12-17-07





// 02-26-08steve
copied changes for teps-Processor and os-printCenter issues - edwin marked as 2-25-08

// 02-25-08
	bool Print(CommandNumber itsCommandNumber);		// 2-25-08
			//fPrintInfo->PosePrintDialog(GetDocName(), itsCommandNumber);			// 2-25-08 remove this line





// 02-25-08
// renamed to 14alpha41



1. copied changes from edwin
	fix meta-tag data issue and the funny characters ""

2. put back stuff from speed issue test

				//02-25-08 put back



try to speed processor again...

short betterResizeGworldToGworld ( GWorldPtr srcGworldPtr, Rect srcGworldBound, GWorldPtr destGworldPtr, Rect destGworldBound, short	resizeType, bool allowCancel)
				// 02-22-08steve	myYieldToAnyThread();	// 09-99-07





// 02-21-08steve later
copied changes from edwin 02-21-08edwin
v14alpha40.5speedtest
1. allow better updating of progress window when copying images during startSittingPC-Card...




// 02-21-08steve

try to speedup processor - especially on single cpu machines

remove the yielding - between objects... will slow down fg alot
			// 02-21-08steve	myYieldToAnyThread();	// 09-99-07 steve




// 02-20-08steve


00. NEED to test for speed issue???

0. copied changes from edwin from 2-19-08

0. allow user to cancel out when previewing Multiple pages
short DoPrintPreviewWithSlideWindow( GWorldPtr offscreen1, GWorldPtr offscreen2, short	rows, short	cols, 
	OSErr	theErr = noErr;					// 2-19-08
			// 02-20-08steve	DoPrintPreview2(offscreen1, cPrintPreviewWindow2, false, fileName);		// 3-10-04
			theErr = DoPrintPreview2(offscreen1, cPrintPreviewWindow2, false, fileName);		// 2-19-08
		return theErr;	// 02-19-08edwin copied by steve return noErr
		

1. remove line in file IsVolumeCDROM.cp
// 02-20-08steve	#include "IsVolCDROM_OS9.h"


2. TEST for speed problem withprocessor again
short betterResizeGworldToGworld ( GWorldPtr srcGworldPtr, Rect srcGworldBound, GWorldPtr destGworldPtr, Rect destGworldBound, short	resizeType, bool allowCancel)
	UInt32			pauseAtLines		= 50;	// 02-20-08steve original values

#ifdef kBackgroundPrintApp
	// 02-20-08steve
	pauseAtLines = dy/3;	// 02-20-08steve
#endif

			// 02-20-08steve	if (outputLines%50==0)
			if (outputLines%pauseAtLines==0)	// 02-20-08steve
			{
				// 09-99-07	gProgressIndicator->IdleProgress();
				extern OSErr myYieldToAnyThread(void);	// 09-99-07
				myYieldToAnyThread();	// 09-99-07

			}





// 02-19-08steve

1. Put back source file "isVolCDRom_iokit.cp" into our target build again

2. try to fix the issue the returnFlashCardVolume - which was NOT returning anything...
pascal	short returnFlashCardVolume (eOSVolumeType	checkVolumeType, Str255	&volumeName)	// 10-21-04
// 02-19-08steve	typedef	OSStatus	kern_return_t;
// 02-19-08steve	typedef	struct {}*	mach_port_t;





// 02-14-08steve
fixed the issue with drag/drop and rotation issue


// 02-14-08 copied changes from edwin

if the canvas is set for first page and marked images -
then we are in drag and drop
clearly - we dont need to mark anything...

//
bool TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
		/*	CPoint_AC	tempOffset = theOffset;

short TImageObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi, CStr255_AC	&fileName)
			// 2-14-08 add if getAppMode()!=kDragDropPreviewMode //4-16-07
			if (getAppMode()!=kDragDropPreviewMode && (currentTemplate.templateMode1==kPrintAllImages || currentTemplate.templateMode1==kPrintMarkedImages))


// 2-12-08
fix update error when shifting and/or zooming and pressing the apply to all button in drag and drop mode
void TDragAndDropToolWindow::ApplyShiftOptionsToAll(bool	all)
void TDragAndDropToolWindow::ApplyZoomOptionsToAll(bool	all)
void TDragAndDropToolWindow::ApplyShiftAndZoomOptionsToAll(bool	all)

fix wrong shift when doing n-up, shifting one and apply to all
did not set fScalingFactor when reading from memory
short TImageObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi, CStr255_AC	&fileName)

correct popup menu for updr200
add window 1822 and MENU resource 1077
void TCanvasPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void goToUPDR200PrefSettingsWindow(tMediaTypePrefPtr	ptr)	// 2-12-08

add prompt before removing from thumbnail bar feature
change view 1069
add ALRT 1032
change class TPreviewWindowPrefs
change void TThumbnailToolsView::DoPreviewImagesChoice(short	choice)

// 2-11-08
add option so we have 5 backup folders in our pref
bool TCustomServerCopyHandler::ProcessFunction2()
add constants in constants.h
tBackupFilesPtr	getMyBackUpPrefs(short	which)				// 2-11-08
void setMyNewBackupPrefsToFactoryDefaults()					// 2-11-08
void TStartSittingPrefObject::WriteTo(CStream_AC	*astream)
void TStartSittingPrefObject::ReadFrom(CStream_AC	*astream)
void TStartSittingPrefs::GotoCopyImagePrefsWindow(tCopyImagesPref	*ptr)
void TCustomCopyPrefWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
CStr255_AC	getDefaultBackupFolderName(short index)					// 2-11-08
short	getAliasIDforBackupFolder(short index)						// 2-11-08
void myNewValidateBackupFolder(tBackupFilesPtr	ptr, short	which)		// 2-11-08
void validateBackupFolders()			// 2-11-08
void myWriteBackupFolderPref( bool doSynchNow )
void myReadBackupFolderPref()
void TBackupFilesCommand::DoIt()
bool TBackupFilesCommand::ShowDestinationDialog(FSSpec	*tmpFSSpec)

change view 1290 and 1382

// 02-08-08steve
// v14a40next
// copied more changes from edwin dated 2-8-08 and 2-9-08


0. copy todd's new factory default .plist

0. remove "Teps-X v13 Prefs" from main Teps-X target
we need to do the same for vendor version - and have the vendor version read from new plist type
for internal factory defaults

1. replace processor resource to reflect the new save as option "image+graphics name"
	// teps-processor.rsrc

2. remove debug code that forced chooser count to zero all the time

short getPrintCount(TFile *aFile, tPrintQuantityInfoPtr	ptr)
				// 2-9-08 remove debug statement
				//ptr->chooserCount = 0x000;

short TSpoolerPrintView::PrepareForPrinter()
	switch (fPrinter)		// 2-8-08 replace if statement
	{
		case kPrint2File:
		case kPrint2FileSet1:
		case kPrint2FileSet2:
		case kPrint2FileSet3:
		case kPrint2FileSet4:
						addToPrintCount(dummyPrintQuantity, kPrintToFileCount, fPrinter, fCanvasNumber);
						break;







// 02-07-08steve 

- still Missing "image+graphics name" as print to file save as option
- get count does not reflect the chooser prints very well???????


// try to speed up load/save of prefs again
bool CopyToUserDefaultsObjectForKey ( NSDictionary *myDictionary, NSString* keyName, bool forceCopy )
	// 01-07-08steve	[[NSUserDefaults standardUserDefaults] synchronize];




// copy more changes from edwin 
// look for
// 2-7-08 or 2-07-08

// in teps-x
// if it is a counter key and is zero, 
// give an error first and dont display the dialog
// make sure counter key is NOT zero and give error
bool TNamedStdPrintHandler::PoseJobDialog()
	if ( !CheckForDefaultValidKeyPermission ( GetTpiKeyHandler(), dummyPrintQuantity, true ) )	// 02-07-08edwin
	{
		DisplayMissingSecurity ();
		return ( false );
	}


// dim out more file menu items when there is NO key
// "save cropped files..." 
// "save marked as ck template"
// "save with mask"


// in tepsProcessor
// fix bluish color issue with saving to web size
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )
			// 02-07-08steve --- NEED To Check????
			// 2-7-08 this fixes it however I dont know why we only skipped it for kSaveAsJPEG
			if (fPrintToFileSet.saveAlphaChannel==false && ptr->fileType!=kSaveAsJPEG && ptr->fileType!=kSaveAsJPEG4Web)
			{
				extern bool mySetGworldAlphaChannelToByteValue ( GWorldPtr sGWorldPtr, unsigned char alphaByte );
				mySetGworldAlphaChannelToByteValue ( anOffscreen, 0xff );
			}

// 02-06-08
// gave a version to todd already

// 02-06-08steve

IS MENU 1210 being shared by more than one window...
the 5x7 was dimmed out???? IS IT BEING SHARED later on???


bool  TNamedStdPrintHandler::Print(CommandNumber itsCommandNumber)
	// 02-06-08steve
	bool doSpool = false;	// 02-06-08steve - dont know if this should be the same as isPrintingThroughSpooler????
	if ( !CheckForDefaultValidKeyPermission ( GetTpiKeyHandler(), dummyPrintQuantity, true ) )	// 02-06-08steve
	{
		return ( false );
	}


// call new method to check for key
// short CheckClickCountBeforeProcessing ( TTepsSuperProKey* ptr, short printQuantity )


// updated libSuperProKey.a library - TSuperProKey.xcodeproj
// to not show up so many message that give away the contents of our buffer locations

change bad message
short CheckForKeyCountRunningLow ( TTepsSuperProKey* ptr )
	// 02-06-08steve	printf ( "CheckForKeyCountRunningLow => ERRORED OUT???? Should NOT Be HERE!!!\n" );
	printf ( "CheckForKeyCountRunningLow...\n" ); // 02-06-08steve




// 02-05-08steve
// copied more changes from edwin marked 2-5-08

1. fixed the Teps-X.rsrc for window titles for JunkMask and ExclusionMask



// Fix BOTH FG and BG

1. FG - fix the ck issue when color adj is on AND has junk mask
// FG - UImageObject.cp
bool TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
			if (fJunkMask[1].rect!=gZeroRect)		// 2-5-08
				copySelectionToAlphaChannelOffscreen(fImage, fJunkMask);
			if (fJunkMask[1].rect!=gZeroRect)		// 2-5-08
				copySelectionToAlphaChannelOffscreen(fImage, fJunkMask);
		if (fJunkMask[1].rect!=gZeroRect)		// 2-5-08
			copySelectionToAlphaChannelOffscreen(fImage, fJunkMask);

2. BG - fix the ck
// BG - UImageObject.cp
		if (fJunkMask[1].rect!=gZeroRect)	// 2-5-08 moved down
		{
			extern void copySelectionToAlphaChannelOffscreen(GWorldPtr	imageOffscreen, tJunkMaskStructure	junkMask[4]);
			copySelectionToAlphaChannelOffscreen(fImage, fJunkMask);
		}



//  02-04-08steve
copied more changes from edwin since sat

1. copied tepsx.rsrc which should have:
	a. clear mask button added
	b. menu 1042 udpated to have the "three 4x8s"
		(code should have still been in there)
		





// 02-02-08steve
copied changes from email while at tradeshow

// 2-1-08edwin
// teps-x.rsrc
fixed resource 2148 defocus values


// 2-1-08edwin
// UImageSettingsWindow.cp
view 1105 Image Settings Window, other angle view showed even when selection was no rotation 90 CW or 90 CCW, also source change:

void TImageSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
					if (((TPopup*)source)->GetCurrentItem()<5)		// 2-1-08
						FindSubView('myvw')->Locate(CViewPoint(300,300), kRedraw);
					else
						FindSubView('myvw')->Locate(CViewPoint(0,67), kRedraw);
					//FindSubView('myvw')->Show(((TPopup*)source)->GetCurrentItem()==5, kRedraw);


	if (anObject->fUseAnyAngle==false)						// 2-1-08edwin
		FindSubView('myvw')->Locate(CViewPoint(300,300), kRedraw);
	else
		FindSubView('myvw')->Locate(CViewPoint(0,67), kRedraw);
		
	this->Invalidate(FindSubView('myvw')->GetFrame());
	this->Update();
	myNewApplicationPollEvent();


// 2-1-08edwin
// DragAndDropToolWindow.cp
// source change for 1 degree when variable angle is disabled
void TNewCKToolWindow::SetOwnerView(TPreviewImage	*aView)	// 4-12-04
		if (((TDropPreviewImage*)fPreviewImage)->UseAnyAngle())	//2-1-08steve only set if enabled
		{
			short	angle, angleDirection;
			angle = ((TDropPreviewImage*)fPreviewImage)->GetAngle(	angleDirection);
			if (angleDirection==kCCW)
				((TScrollBar*)FindSubView('angl'))->SetValue(-(angle), kRedraw);
			else
				((TScrollBar*)FindSubView('angl'))->SetValue((angle), kRedraw);
			
			fLastRotationValue = ((TScrollBar*)FindSubView('angl'))->GetValue();
			((TNumberText*)FindSubView('anva'))->SetValue(fLastRotationValue, kRedraw);
		}


// 1-31-08edwin
// UTeps2000Application.cp
// source change for 1 degree when variable angle is disabled
void TTeps2000Application::DoCommandKeyEvent(TToolboxEvent	*event)		// 2-26-07
		Enable(cSaveCroppedImage, getCurrentInputHandler()->GetFileList()->GetSize() > 0 && GetTpiKeyHandler()->GetTPIKeyExists());	// 1-31-08
		//Enable(cSaveCroppedImage, getCurrentInputHandler()->GetFileList()->GetSize() > 0);	// 1-31-08 remove here move up





// 01-30-08steve

NEED to change kKeyTeps2000Pro to eKeyType!!!!!!
// Also NEED to Check if removed references to:
#define		kKeyTeps2000Event		kTPIKeyType9
#define		kKeyTeps2000Pro			kTPIKeyType3
#define		kKeyTeps2000Spooler		kTPIKeyType3
#define		kKeyTeps1000			0	// a key must exist
#define		kKeyTepsChromakey		kTPIKeyType8	// 10/3/01
#define		kKeyTepsNetworkKey		kTPIKeyType10	// 9/11/02



NEED to check counts for Floppy????? but used kCDWriteItem?????????
//FloppyPrintHandler.cp
		//addToPrintCount(dummyPrintQuantity, kCDWriteCount, kCDWriteItem, getCurrentCanvasNumber());	// 8-5-02


// replace functions from TSuperProKey class to local
short CheckDoAllowForegroundPrintingToSpool ( TTepsSuperProKey* ptr, short printQuantity, Boolean doSpool );	// 01-30-08steve moved from TTSuperProKey
short GetHasChromakeyFeature ( TTepsSuperProKey* ptr );	// 01-30-08steve moved from TTSuperProKey
short CheckForKeyCountRunningLow ( TTepsSuperProKey* ptr );	// 01-30-08steve moved from TTSuperProKey



//
//   HAD To RE-DO the Project for the libSuperProKey.a
//
// TSuperProKey.h - CHANGED too
1. 		eTepsKeyVersion	GetTPIKeyVersionFound ( void );	// 01-30-08steve
2. remove CheckDoAllowForegroundPrintingToSpool


// remove references to kTPIKeyNotFound



// try to make the demo mode work

// WE MAY HAVE TO REMOVE FROM the other targets too
// Teps2000Headers_xcode_n.h
//==========================
//
// 01-30-08steve #define	kRemoveKeyStuff	true
//

// MainWindow.cp
//==========================
void TMainWindow::DoPostCreate(TDocument	*aDocument)
bool TMainWindow::HasStartSittingKey()
			// 01-30-08steve - need to determine version of key as well as type of key
#ifdef kAmuseMatteVersion_
			case TTepsSuperProKey::eTepsKeyVersion_TepsSantasticV14:
#else
			case TTepsSuperProKey::eTepsKeyVersion_TEPSXPreV14:
#endif

// NameStdPrintHandler.cp
//==========================
bool  TNamedStdPrintHandler::Print(CommandNumber itsCommandNumber)
		// 01-30-08steve	GetTpiKeyHandler()->ProcessClickCountAfterPrint ( dummyPrintQuantity );
		ProcessClickCountAfterPrint ( GetTpiKeyHandler(), dummyPrintQuantity );	// 01-30-08steve


// UTeps2000Application.cp
//==========================
void  TTeps2000Application::InitializeApplication()
// 01-30-08steve	#ifndef kRemoveKeyStuff

void TTeps2000Application::DoSetupMenus()

		// 01-30-08steve - REDO
		Enable(cSaveToDailyGeneral, (GetTpiKeyHandler()->GetTPIKeyExists()) );		// 3/3/00 add extra parentheses
		Enable(cSaveToSpecialGeneral, (GetTpiKeyHandler()->GetTPIKeyExists()) );		// 3/3/00 add extra parentheses
		Enable(cSaveToUserdefinedGeneral, (GetTpiKeyHandler()->GetTPIKeyExists()) );	// 3/3/00 add extra parentheses
		Enable(cSaveCompositionAs, fPreviewImagesWindow && !((TPreviewImageWindow*)fPreviewImagesWindow)->fPrintPackageModeEnabled &&
			   (GetTpiKeyHandler()->GetTPIKeyExists()) );		// 3/3/00 add extra parentheses


void  TTeps2000Application::CheckForSecurityKey()
		bool doExitToShellIfKeyNotValid = false;	// 01-30-08steve
	// 01-30-08steve	GetTpiKeyHandler()->CheckForKeyCountRunningLow ();
	CheckForKeyCountRunningLow (GetTpiKeyHandler());	// 01-30-08steve



// GeneralPrintHandler.cp
//==========================
bool TGeneralPrintHandler::ValidateSecurityKey ( short printQuantity )
#ifdef kAmuseMatteVersion_
		case TTepsSuperProKey::eTepsKeyVersion_TepsSantasticV14:
#else
		case TTepsSuperProKey::eTepsKeyVersion_TEPSXPreV14:
#endif


// TepsPrintHandler.cp
//==========================
short TTepsPrintHandler::DoPrint(GWorldPtr	anOffscreen, Boolean	doPreview)
		// 01-30-08steve	GetTpiKeyHandler()->ProcessClickCountAfterPrint ( dummyPrintQuantity);
		ProcessClickCountAfterPrint ( GetTpiKeyHandler(), dummyPrintQuantity );	// 01-30-08steve

void TTepsPrintHandler::PrintToFile(GWorldPtr	outputOffScreen, CFSSpec_AC	fileSpec)
		// 01-30-08steve	if ( status ) GetTpiKeyHandler()->ProcessClickCountAfterPrint ( 1 );
		if ( status ) ProcessClickCountAfterPrint ( GetTpiKeyHandler(), 1 );	// 01-30-08steve

Boolean ValidatePrint(Boolean isForeground, short	printerType, Boolean	setPrintQuantity)
	// 01-30-08steve	if (false == GetTpiKeyHandler()->CheckDoAllowForegroundPrintingToSpool ( dummyPrintQuantity, !isForeground ) )
	if (false == CheckDoAllowForegroundPrintingToSpool ( GetTpiKeyHandler(), dummyPrintQuantity, !isForeground ) )	// 01-30-08steve


// CDPrintHandler.cp
//==========================
GWorldPtr TCDPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
					// 01-30-08steve	GetTpiKeyHandler()->ProcessClickCountAfterPrint ( dummyPrintQuantity );
					ProcessClickCountAfterPrint ( GetTpiKeyHandler(), dummyPrintQuantity );	// 01-30-08steve

				// 01-30-08steve	GetTpiKeyHandler()->ProcessClickCountAfterPrint ( dummyPrintQuantity );
				ProcessClickCountAfterPrint ( GetTpiKeyHandler(), dummyPrintQuantity );	// 01-30-08steve


short 	TCDPrintHandler::DoPrint(GWorldPtr	anOffscreen, Boolean	doPreview)
	// 01-30-08steve	GetTpiKeyHandler()->ProcessClickCountAfterPrint ( dummyPrintQuantity );
	ProcessClickCountAfterPrint ( GetTpiKeyHandler(), dummyPrintQuantity );	// 01-30-08steve

// FloppyPrintHandler.cp
//==========================
GWorldPtr TFloppyPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
		// 01-30-08steve	GetTpiKeyHandler()->ProcessClickCountAfterPrint ( dummyPrintQuantity );
		ProcessClickCountAfterPrint ( GetTpiKeyHandler(), dummyPrintQuantity );	// 01-30-08steve

short 	TFloppyPrintHandler::DoPrint(GWorldPtr	anOffscreen, Boolean	doPreview)
		// 01-30-08steve	GetTpiKeyHandler()->ProcessClickCountAfterPrint ( dummyPrintQuantity );
		ProcessClickCountAfterPrint ( GetTpiKeyHandler(), dummyPrintQuantity );	// 01-30-08steve


// PrintToFileHandler.cp
//==========================
		// 01-30-08steve	GetTpiKeyHandler()->ProcessClickCountAfterPrint ( dummyPrintQuantity - tmpNum);
		ProcessClickCountAfterPrint ( GetTpiKeyHandler(), dummyPrintQuantity - tmpNum );	// 01-30-08steve



// PreviewImageWindow.cp
//==========================
bool TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)
			if (false == RescanTpiRainbowKeyHandler()->CheckDoAllowForegroundPrintingToSpool ( 1, false ) )	// 3-25-05
			{
				DisplayMissingSecurity ();
				return;
			}	// 01-30-08steve put closing brace in right spot
// 01-30-08steve	#endif				}


// SaveToServerCommand.cp
//==========================
void TBackupFilesCommand::DoIt()
		// 01-30-08steve	tpiRainbowKey* curKeyHandler	= GetTpiKeyHandler ();
		TTepsSuperProKey* curKeyHandler	= GetTpiKeyHandler ();	// 01-30-08steve

// myTepsSecurityKey.cp
//==========================
// 01-30-08steve - added
short CheckDoAllowCompositeFileSave ( TTepsSuperProKey* ptr, short isHiResImageType )
void DisplayMissingSecurity ( )
short CheckClickCountBeforeProcessing ( TTepsSuperProKey* ptr, short printQuantity )
short CheckDoPrintForDemoBG ( TTepsSuperProKey* ptr, short printQuantity )
short CheckDoPrintForDemoFG ( TTepsSuperProKey* ptr, short printQuantity )

// 01-30-08steve - moved this out of the TTepsSuperProKey class
// 10-31-07 - this might need to be moved to myTepsSecurity.cp
short CheckDoAllowForegroundPrintingToSpool ( TTepsSuperProKey* ptr, short printQuantity, Boolean doSpool )

CStr255_AC GetKeyTypeString ( TTepsSuperProKey* ptr )
bool checkForValidKeyAtStartup ( TTepsSuperProKey* ptr, bool doExitToShell )


// myCopyFileUtils.c
//==========================
bool CopyToUserDefaultsObjectForKey ( NSDictionary *myDictionary, NSString* keyName, bool forceCopy )






// 01-29-08steve
// try to fix issue with saving long file names as printToFileSet
// processor project
// UBGPrintView.cp - move stuff around and see why we have that long filename issue
// bool NewSaveOffscreenToFileNew(short outputType,
//
			FSSpec serverUniqueFSSpec;	// 01-29-08steve moved up
			do
			{
//
			// 01-29-08steve moved this down here
			// BUT NOW - wasSaved = file was Copied to the destination or not
			// otherwise, no meaning to try to save the attributes
			if ( wasSaved )



// removed this change from earlier - did edwin change this and for what???
void TTEPSFileHandler::InsertFilesFromReplyRecord(AEDescList selection)		// 11-5-07
					if (/*getCurrentInputHandler()->*/IsValidFile(aFile))	// 01-29-08steve did EDWIN change this???
					if (getCurrentInputHandler()->IsValidFile(aFile))	// 01-29-08steve put back???


// 01-29-08steve -Copied Edwin's changes

// 1. did edwin change this and for what???
void TTEPSFileHandler::InsertFilesFromReplyRecord(AEDescList selection)		// 11-5-07
					if (/*getCurrentInputHandler()->*/IsValidFile(aFile))	// 01-29-08steve did EDWIN change this???

// 2. fix for zoom problem - use temp value
//	UPrintView.cp

	tmpNum = getMyPreviewPrefs()->cropWhere;											// 1-29-08 USE tmp variable
	swapFromHost_UInt16 ( (UInt16 &)tmpNum/*getMyPreviewPrefs()->cropWhere*/, writeAsMotorolaData );
	aStream->WriteInteger(tmpNum/*getMyPreviewPrefs()->cropWhere*/);	// 11-06-02

	tmpNum = getMyPreviewPrefs()->croppingMode;											// 1-29-08 USE tmp variable
	swapFromHost_UInt16 ( (UInt16 &)tmpNum/*getMyPreviewPrefs()->croppingMode*/, writeAsMotorolaData );
	aStream->WriteInteger(tmpNum/*getMyPreviewPrefs()->croppingMode*/);


// try to fix that bizarre issue with the "dir cat issue"
// 01-29-08steve - try to find all the MisUse of the strcpy command
// TepsFileHandler.cp
OSErr TTEPSFileHandler::SaveAndReturnSavedFSSpec(short vRefNum, long	parID, long	fileNumber, FSSpec *theFSSpec)
bool TTEPSFileHandler::CopyScaledImageFile(short	percentage, FSSpec	fileSpec, short fileNumber)
bool TTEPSFileHandler::CopyScaledImageFile2(short	percentage, FSSpec	fileSpec, short fileNumber, CStr255_AC	newName)

// UPrintView.cp
void copyFileToPrintServerFolder(FSSpec		*srcFSSpec)

// PrintCountStuff.c
// need to recast
void myNumToCString ( long theNum, char* cstr )	// 01-29-08steve re-prototype

// startSittingPrefs.cp - just a notation
bool checkIfValidSittingFolder(short	vRefNum, long parID)	// 10-7-02

// myStrings.c
// make sure we dont go beyond 255!!!!
void pstrcpy ( Str255 s1, const Str255 s2 )


// myCopyFilesUtils.c
// changed the used code section???
short doCopyTheFile ( FSSpecPtr mySourceFSSpecPtr, FSSpecPtr myDestinFSSpecPtr, bool overwriteExisting)
				// 01-29-08steve	char	tmpString[31];
				char	tmpString[64];	// 01-29-08steve	
				dummyString.CopyTo(tmpString);
				
				// 01-29-08steve strcpy((char*)theSpec.name,tmpString);
				pstrcpy ( theSpec.name,tmpString );	// 01-29-08steve




// 01-28-08steve
do more xml testing

NSDictionary
CFDictionary

// 01-28-08steve
try to find the issue with the dir cat error???
short doCopyTheFileInChunks ( FSSpecPtr mySourceFSSpecPtr, FSSpecPtr myDestinFSSpecPtr, bool overwriteExisting)
bool getXFileInfoStuff ( FSSpecPtr myFSSpecPtr, CInfoPBRec *pb )






// 1-28-08
change bug in start sitting prefs where strings are not maintained
void TStartSittingPrefObject::WriteMyBaseNameStruct(tBaseNameStruct	&data, CStream_AC	*astream)
void TStartSittingPrefObject::WriteMyCopyImagesPref(tCopyImagesPref	&data, CStream_AC	*astream)
void TStartSittingPrefObject::WriteMyBackupFilesStruct(tBackupFilesStruct	&data, CStream_AC	*astream)
void TStartSittingPrefObject::WriteTo(CStream_AC	*astream)
void TStartSittingPrefObject::ReadMyBaseNameStruct(tBaseNameStruct	&data, CStream_AC	*astream)
void TStartSittingPrefObject::ReadMyCopyImagesPref(tCopyImagesPref	&data, CStream_AC	*astream)
void TStartSittingPrefObject::ReadMyBackupFilesStruct(tBackupFilesStruct	&data, CStream_AC	*astream)
void TStartSittingPrefObject::ReadFrom(CStream_AC	*astream)

fixed bug where bogus numbers appeared for sony printer settings if opening pref window after a print
void WriteColorCorrectionValue(CStream_AC	*aStream, short	thePrinterType)

read default preferences from factory default file
fix output canvases to only read in current printer pref after copying from default file
void myReadOutputCanvasesForPrinter(short	whichPrinter)	// 1-28-08
bool	CopyPrinterCanvasesFromDefaultPrefFile(short	printerType)		// 1-25-08

also read in associated media pref
bool	CopyPrinterCanvasesFromDefaultPrefFile(short	printerType)		// 1-25-08

read defaults from file for:
Chromakey Mode Pref
void TNewOneUpPrefs::SetFactorySettings()
Input Pref
void TInputPreferences::SetFactorySettings()
Start Sitting Pref
void TStartSittingPrefs::SetFactorySettings()
Print toolbar, preview window, thumbnail window
void TPreviewWindowPrefs::SetFactorySettings()

Sony Printer Settings
void TSonyPrinterPrefs::SetFactorySettings()
Kodak Printer Settings
void TKodakPrinterPrefs::SetFactorySettings()

change void myReadSonyPrinterPref(short	which, bool factorySettings = false );	// 1-28-08 reprototype
add bool factorySettings to determine if we are reading from preferences file or from factory settings

// 01-26-08steve
// steve added test code to read xml file which will contain our new orders
	extern void testXMLFile ( void );	// 01-26-08steve debug
	testXMLFile ( );


// 01-26-08steve
// fix issue with not copying the two new printers prefs's canvases
// TepsPreferencesKeys.h
#define	kPrefKeyForBaseOutputCanvasesMaxCount	kNumberOfPrinters	// 01-26-08steve use Constants.h	40		// 09-27-07 OR FROM Constants.h??????

// also save the printers prefs options
NSMutableDictionary* CopyUserPreferencesToDictionary ( void )
			anObjectKeyName = kPrefKeyForSonyUPGR700Prefs;					// 01-26-08steve
			anObject = [oldPrefs objectForKey: anObjectKeyName];
			if ( anObject )	[newTepsPrefDictionary setObject:anObject forKey:anObjectKeyName];			

			anObjectKeyName = kPrefKeyForSonyUPDR200Prefs;					// 01-26-08steve
			anObject = [oldPrefs objectForKey: anObjectKeyName];
			if ( anObject )	[newTepsPrefDictionary setObject:anObject forKey:anObjectKeyName];			

bool CleanUpOldPrefsInUserDefaults ( void )
		anObjectKeyName = kPrefKeyForSonyUPGR700Prefs; // 01-26-08steve
		addToNewListAndRemoveFromNSUserDefaults ( newRootDictionary, anObjectKeyName );
		
		anObjectKeyName = kPrefKeyForSonyUPDR200Prefs; // 01-26-08steve
		addToNewListAndRemoveFromNSUserDefaults ( newRootDictionary, anObjectKeyName );




// 01-25-08 copied changes from edwin for "set factory default"




// 01-25-08steve
// fix call to just copy one object from a dictionary to the user default dictionary
bool LoadFromNewPreferencesFile2 ( NSString *selectedFile, NSString* keyName, bool forceCopy )
						CopyToUserDefaultsObjectForKey ( myDictionary, keyName, forceCopy );	// 01-25-08steve



// 01-25-08steve
// try to fix issue with funny characters with NSString
bool GetPathFromResourceFolderFromAppBundle ( const char *resFileName, CFStringRef &pathRef );	// 01-25-08steve
bool LoadFromTEPSXv14PreferencesFile ( void )



// 01-24-08steve

// clearer messaging
OSErr TMyCanonCameraHandler::FindCamera()
			DisplayNormalMessage("Did NOT Successfully Initialize the Canon SDK");	// 01-24-08steve

// fix issue with preferences if one existed at startup
bool CopyToUserDefaultsObjectForAllKeys ( NSDictionary *myDictionary, bool forceCopy );	// 01-24-08steve
bool CopyToUserDefaultsObjectForKey ( NSDictionary *myDictionary, NSString* keyName, bool forceCopy );	// 01-24-08steve
bool LoadFromNewPreferencesFile2 ( NSString *selectedFile, bool forceCopy );	// 01-24-08steve
bool LoadFromNewPreferencesFile2 ( NSString *selectedFile, NSString* keyName, bool forceCopy );	// 01-24-08steve
bool GetPathFromResourceFolderFromAppBundle ( const char *resFileName, char *pathName );	// 01-24-08steve
bool CopyOneObjectFromFactoryDefaultToNSUserDefaults ( NSString *keyName );	// 01-24-08steve




// 1-24-08 add sony UPD-R200
void TPrintView::WriteHeader(CStream_AC	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, TFile	*aFile)	// 12-8-03
void WriteColorCorrectionValue(CStream_AC	*aStream, short	thePrinterType)
tDefaultMediaTypePrefPtr getMyUPDR200Prefs()	// 1-24-08
short	findCanvasNameInUPDR200List(CStr255_AC	canvasName)	// 1-24-08
tNewCanvasSizes	*getThePrinterCanvas ( short printerType )
void TCanvasPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TSonyPrinterPrefs::SetFactorySettings()
#define kPrefKeyForSonyUPDR200Prefs			@"Sony UPDR200 Prefs"	// 1-24-08
void myNewWritePrefs()
void myNewReadPrefs()
TTepsPrintHandler *CreatePrintHandler(short	printerType, tNewCanvasSizes	*aCanvas)

Teps-Processor
void TBGPrintView::ReadColorCorrectionValue(CStream_AC	*aStream, short	thePrinterType)
void	TSpoolerPrintView::ApplyColorSettings(short	printer)			// 3-14-06
CRect_AC	TSpoolerPrintView::GetOutputRect(tPrintInfoStruct	*printInfo)		// 8-23-06
bool TSpoolerPrintView::WriteStructureAndOffscreenToFile(tPrintInfoStruct	*printInfo, GWorldPtr	anOffscreen)

// 01-23-08steve
// next version to be v14a38next


// EVENTUALLY -
// Do we need a Default.plist for Processor too????



// copied one simple change from steve's v14 project
// dated 01-21-08steve
GWorldPtr	TNewAllFilesHandler::GetPreviewImage()
{
	// 01-21-08steve DisplayNormalMessage ( "TNewAllFilesHandler::GetPreviewImage" );	// 01-14-08steve - yes i do see



// fixed issue with the factoryDefaults.plist was NOT being copied when "com.triprism.teps.plist" did NOT exist
bool LoadFromTEPSXv14PreferencesFile ( void )


// Created new group called "Factory Defaults"
// ======================================================
// created the factory default plists and added them to their
// respective targets and subFolders
// ======================================================
// todd started to create them - but may NOT be done yet...
// ======================================================
// Need to do a "Reveal in Finder"
Teps-X v14 Default Pref.plist
Teps-X Sony v14 Default Pref.plist
????? did NOT know where's the subFolder for the AMUSEMATTE Target????


// use constant instead of hardcoded number
void myWriteOutputCanvases( bool doSynchNow )	// 10-09-07 reprototype
				NSMutableArray* array = [NSMutableArray arrayWithCapacity:kNumberOfCanvases];	// 01-23-08steve use kNumberOfCanvases

// created new prototype function for better consistency in the future
bool LoadFromNewPreferencesFile ( NSString *selectedFile );	// 01-23-08steve new prototype

// make these function(s) call new above prototype
bool LoadFromNewPreferencesFile ( void )
bool LoadFromTEPSXv14PreferencesFile ( void )





// 1-22-08
copy changes from yesterday into latest version

fix bug that did not allow to automatically create thumbnails for all CK templates (it only did current directory instead of going through sub folders)
void createThumbNailsForAllCKFilesInSubFolder(long dirID)	// 1-21-08
void createThumbNailsForAllCKTemplateFiles()	// 3-23-04

fix bug that caused shifting to jump too much (too big of a jump with each click)
void TDropPreviewImage::OffsetRect(CPoint_AC	theOffset)
also made changes to class TMyMouseDragger

add TStaticText instead of TNumberText for displaying shift/zoom values on screen
void TDropPreviewImage::UpdateToolWindowSettings()		// 5-19-04

and update numbers while holding down buttons, add this->Update after SetText
void TNewCKToolWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

read defaults from v14 pref file
bool LoadFromTEPSXv14PreferencesFile ( void )
void setAllMyDefaults()

do not initialize Canon SDK until FindCamera
TMyCanonCameraHandler::TMyCanonCameraHandler()
OSErr TMyCanonCameraHandler::FindCamera()

remove DisplayNormalMessage in TDummyCameraHandler
TDummyCameraHandler::TDummyCameraHandler()
{
	// DisplayNormalMessage ( "TDummyCameraHandler::TDummyCameraHandler" );	// 01-14-08steve - yes i see this


// 01-18-08steve
try to improve the speed of the processor on the quad duo core = 8 processors
but seems like no difference...

so - it seems either the algo is really bad or macapp is really bad with threading

seems like very little difference with the print-to-file
OSErr myYieldToAnyThread(void)

void TPrintBGBehavior::EnableBackgroundPrinting(Boolean enable)
			// 01-18-08steve
			{
				bool doNewMethod = false;	// 01-18-08steve
				if ( doNewMethod)
				{
					ItemCount totalCpus = MPProcessors (); // 01-18-08steve
					if ( totalCpus >2 )
					{
						this->SetIdleFreq(0);	// 01-17-08steve if lots of processor dont bother sleeping
					}
					else
					{
						this->SetIdleFreq(kBackgroundPrintingIdleTime);	// 09-99-07
					}
				}
				else
				{
					this->SetIdleFreq(kBackgroundPrintingIdleTime);	// 09-99-07
				}
			}



// 01-14-08steve
NEED to remove a bunch of Debug Messages in the forms of DisplayNormalMessages and NSLogs




// 01-14-08steve
// try to debug why if CanonCameraHandler is input, cannot get TNewAllFilesHandler to work????
GWorldPtr	TNewAllFilesHandler::GetPreviewImage()
{
	DisplayNormalMessage ( "TNewAllFilesHandler::GetPreviewImage" );	// 01-14-08steve - yes i do see

TDummyCameraHandler::TDummyCameraHandler()
{
	DisplayNormalMessage ( "TDummyCameraHandler::TDummyCameraHandler" );	// 01-14-08steve - yes i see this



// Try to add more NIL Pointer checking in CImageFile.cpp
	NSDictionary* options = nil;	// 01-14-08steve TEST with nil

CImageFile::CImageFile(FSRef *fileFSRef)
	// 01-14-08steve
	if ( absURL==nil )
	{
		NSLog ( @"CImageFile(FSRef *fileFSRef) CFURLCreateFromFSRef returned NIL???" );	// 01-14-08steve
	}
	
	// 01-14-08steve
	if ( image==nil )
	{
		NSLog ( @"CImageFile(FSRef *fileFSRef) CGImageSourceCreateImageAtIndex returned NIL???" );	// 01-14-08steve - this is where it first fails?? 
	
		fImage = nil;	// 01-14-08steve
		fMetaData = nil;	// 01-14-08steve
	}
	else
	{




// 01-14-08steve
// steve try to fix canon extension issue

EdsError getNextDownloadStreamRef ( EdsDirectoryItemInfo  dirItemInfo, EdsStreamRef &stream )
				const short cExtLen = 4;	// 01-14-08steve 3-lettersPlusDot
				char newName[512];
				char ext[128];
				short	length = strlen(dirItemInfo.szFileName);							// 01-14-08 get extension from camera file name
				
				memset ( ext, 0, sizeof(ext) );	// 01-14-08steve
				memset ( newName, 0, sizeof(newName) );

				memcpy(ext, &dirItemInfo.szFileName[length-cExtLen], cExtLen); // 01-14-08steve reverse it with the right lenght
				((TMyCanonCameraHandler*)getCurrentCameraHandler())->SetExtension(ext);		// 01-14-08 

				sprintf ( newName, "temp_%i%s", TickCount(), ext );	// 01-14-08steve do it in one shot

CStr31_AC TMyCanonCameraHandler::GetExtension()
{
	// 01-14-08steve	return ".JPG";
	return fExtension;											// 1-14-08
}

void TMyCanonCameraHandler::SetExtension(char ext[128])		// 1-14-08
{
	fExtension = ext;
	
	{	// 01-14-08steve testing
		char mesg[255];
		sprintf ( mesg, "TMyCanonCameraHandler::SetExtension=> [%s]", ext );	// 01-14-08steve testing
		// DisplayNormalMessage ( mesg );	// 01-14-08steve testing
	}
	
}


class TMyCanonCameraHandler : public TCameraHandler, public TAllFilesHandler
	void		SetExtension(char ext[128]);	// 1-14-08steve



// 01-14-08steve
// steve copying canon extension stuff from Edwin's 01-14-08 project
CStr31_AC TMyCanonCameraHandler::GetExtension()
void TMyCanonCameraHandler::SetExtension(char ext[128])		// 1-14-08
	void		SetExtension(char ext[128]);	// 1-14-08steve






// v14alpha37next

// 01-10-08steve later
1. remove excess message if canon camera not found
2. fix canon issue with duplicate images coming into the thumbnail view
OSErr TMyCanonCameraHandler::FindCamera()
bool TMyCanonCameraHandler::Check4NewFiles()
	// make sure it's not recursively called
			fIsSaving = true;	// 01-10-08steve
			gApplication->SetIdleFreq(kMaxIdleTime);	// 01-10-08steve
	// make sure we store the name of the current tempfile we are working on
				memcpy ( &fCurFSSpec, &spec, sizeof(FSSpec) );	// 01-10-08steve

bool TMyCanonCameraHandler::CopyImageToFolder(FSSpec	*theFSSpec, bool	overwriteExisting)
// make sure the tempfile is the tempfile we are working on
// AND that this tempfile is INDEED TRULY deleted from the CanonScratchFolder



// 01-04-08 around noon
// v14alpha36

// 01-10-08
merge all changes from edwin from past 3 days


// 01-09-08
2. In CK Template Category When Moving Slider from left to right with lots of CK Templates the Slider does not work properly
bool THGridViewBalloonBehavior::DoIdle(IdlePhase	thePhase)


// 01-08-08
When in CK MOde and Adjust the Exclusion or Junk Mask . The cropping tools do not display correctly when dragging out a Marque
void TSelectionTracker::TrackFeedback(TrackPhase		aTrackPhase,

When previewing Images from the operation window   and you reelect open Preview images from the Folder  icon it will not open the folder.
void TTEPSFileHandler::AddFilesFromOtherFolder(bool		displayHowManyAdded)		// add bool 4-23-04

When adjusting color in the Special One or CK mode and adjust the slider the number does not change
void TShowValueScrollBar::TrackScrollBar(short partCode)

1. When in CK MOde and Adjust the Exclusion or Junk Mask . The cropping tools do not display correctly when dragging out a Marque
	TChromakeyWindow.cp
	void TSelectionTracker::TrackFeedback(TrackPhase		aTrackPhase,

4. When previewing Images from the operation window   and you reelect open Preview images from the Folder  icon it will not open the folder.
But if you select individual images a group of images it will work
	TepsFileHandler.cp
	void TTEPSFileHandler::AddFilesFromOtherFolder(bool		displayHowManyAdded)		// add bool 4-23-04

6. When adjusting color in the Special One or CK mode and adjust the slider the number does not change
fixed today, also fixes sepia tone and old time photo slider in prefs
	DragAndDropToolWindow.cp
	void TShowValueScrollBar::TrackScrollBar(short partCode)





// 01-07-08 copied change for rotation fix from edwin
			if (FindSubView('tn00'+theNum))
			{
				FindSubView('tn00'+theNum)->Invalidate(FindSubView('tn00'+theNum)->GetQDExtent());	// 1-07-08
				//FindSubView('tn00'+theNum)->ForceRedraw();
				FindSubView('tn00'+theNum)->Update();
			}




// 01-07-08
// fix key count issue
short ProcessClickCountAfterPrint ( TTepsSuperProKey* ptr, short printQuantity )
			// 01-07-08 dont give warning if NOT click count key
			{
				TTepsSuperProKey::eTepsKeyType curKeyType =	ptr->GetTPIKeyTypeFound ();
				switch ( curKeyType )
				{
					case TTepsSuperProKey::eKeyTypeLiteMatte:
					case TTepsSuperProKey::eKeyTypeDemoMatte:
					case TTepsSuperProKey::eKeyTypeCounterMatte:
						// 11-26-07 steve
						DisplayNormalMessage ( "You HAVE NO More Click Count!!!" ); // 11-26-07 steve
						ExitToShell();	// 11-26-07 steve
						break;

				}

			}



// 01-04-08 later
// v14alpha36next

// Added Support for Nikon D3/D300 Module = Type0001 Module.bundle

// Function.c
#define	kNikonModule_Type001	"Type0001 Module.bundle"	// 01-04-08 D3,D300
BOOL Search_Type0001_Module( void* Path )

// NikonBaseCameraHandler.cp
TNikonType0001CameraHandler2::TNikonType0001CameraHandler2 ()
bool TNikonType0001CameraHandler2::SearchModule(FSSpec *ModulePath)

// NikonBaseCameraHandler.h
typedef enum eNikonCameraTypeEnum
	cNikonCamera_D3xx		// 01-04-08	// D3 and D300 Type0001
#define	cNikonCameraString_D3xx		"Nikon D3/D300 ubc\0"	// 01-04-08	// D3 and D300 Type0001

// NikonCameraHandler.cp
OSErr TNikonCameraHandler::FindCamera()
			// 01-04-08 add support for D3,D300 cameras
			if ( !foundCamera )
			{
				if (fNikonCameraHandler)	delete fNikonCameraHandler;
				fNikonCameraHandler = new TNikonType0001CameraHandler2;
				if (fNikonCameraHandler->FindCamera()==noErr)	foundCamera = true;
			}




// 01-04-08
// v14alpha35 give to todd for imaging usa show
===============================================



// 01-03-08 EDWIN - please merge this readme stuff into your project

// 01-03-08steve
// try to fix the issues with matching camera settings with window and camera body and with factory defaults

void TMyCanonCameraControlWindow::SetAsDefault()
// fixed why it was off ONE

void TMyCanonCameraControlWindow::DoPostCreate(TDocument	*aDocument)
// cleaned up code so that it will be MUCH EASIER in the future to add more POPUPS


OSErr TMyCanonCameraHandler::FindCamera()
		this->SetImageQuality(getMyCanonCameraSettings()->fileType);	// 01-03-08steve

// fixed why fileType was being set wrong - used to be shorts - now all LONGs
typedef struct tMyCanonCameraSettings
{
	long			fileType;		// 01-03-08steve define as longs instead of shorts
	long			whiteBalance;	// 01-03-08steve define as longs instead of shorts
	long			EVValue;		// 01-03-08steve define as longs instead of shorts
	long			shutterSpeed;	// 01-03-08steve define as longs instead of shorts
	long			aperture;		// 01-03-08steve define as longs instead of shorts
	long			ISO;			// 01-03-08steve define as longs instead of shorts

	unsigned char	reserved[256];
	
} tMyCanonCameraSettings, *tMyCanonCameraSettingsPtr, **tMyCanonCameraSettingsHandle;

CStr255_AC	getWhiteBalanceStringFromValue(EdsInt32	value)		// 12-21-07
	return "WHAT White Balance???";	// 01-03-08 steve

class TMyCanonCameraControlWindow : public TWindow
		EdsError BuildPopup( TPopup* curPopup, MenuHandle &curMenuHandle, EdsPropertyID curEdsPropertyID, EdsPropertyDesc *curEdsPropertyDesc, CStr255_AC (*getStringFromValue)(EdsInt32) );	// 01-03-08steve added

// MyCanonCameraControlWindow.cp
EdsError TMyCanonCameraControlWindow::BuildPopup( TPopup* curPopup, MenuHandle &curMenuHandle, EdsPropertyID curEdsPropertyID, EdsPropertyDesc *curEdsPropertyDesc, CStr255_AC (*getStringFromValue)(EdsInt32) )



void TMyCanonCameraControlWindow::SetAsDefault()


// 1-3-08
save canon default and initialize camera
tMyCanonCameraSettingsPtr	getMyCanonCameraSettings()		// 1-3-08
void setMyCanonCameraSettingsToDefault()				// 1-3-08
void TCanonCameraObject::WriteTo(CStream_AC	*aStream)			// 1-3-08
void TCanonCameraObject::ReadFrom(CStream_AC	*aStream)		// 1-3-08
void myWriteCanonCameraPref ( bool doSynchNow )				// 1-3-08
void myReadCanonCameraPref()	// 1-3-08
void myNewReadPrefs()



// 12-20-07steve
MyCanonCameraHandler.cp
MyCanonUtilityFunctions.c
	fixed issues with missing popup items and indices
		popups are OneBased and propDesc[] are ZeroBased Indices
	returned better reading text for imageQuality


// 12-20-07 edwin CHANGED?????
added imageQuality popups
and??????




// 12-19-07
fix selecting overley to use new navigation stuff
bool TFileOverlaySettingsWindow::SelectOverlayFile()

fix Save As option
void TTEPSFileHandler::SaveAs(short imageNumber)

make sure that saving templates and nodes uses new naviagtion stuff
short TLayoutView::SaveChanges(bool	showDialog, bool saveAs)

fix save composition as
Boolean TTepsPrintHandler::CanPrintToFile(CFSSpec_AC	*fileSpec)

new navigation functions
bool CTepsNavClass::SaveTemplateFile(FSSpec	*spec)	// 12-19-07
void CMyNavigation::SetSaveFileType(OSType	saveFileType)	// 12-19-07
OSErr CMyNavigation::SaveTemplateFile(FSSpec	*fs)	// 12-19-07

// 11-26-07
validate print to file set folder
short TBGPrintView::ReadObjects(FSSpec	fileSpec)
OSErr	TBGPrintView::ValidatePrintJob()	// 11-26-07
#define kTPI_InvalidPrintToFileSetServerError		109	// 11-26-07
void TPrintJobTaskManager::DoError(short	theErr)
add resource ALRT 1004 with three buttons instead of four

11-20-07
save properties to current file before applying setting to all or marked images
bool TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)
				case cApplySettingsToAllImages:		// 1-5-04
11-20-07
fix junk mask, forgot to read and write it
void TChromaKeySettings::ReadFrom(CStream_AC	*aStream, tChromaKeySettings	*settings)
void TChromaKeySettings::WriteTo(CStream_AC	*aStream, tChromaKeySettings	*settings)

swap bytes
bool myCopyMaskGworldToAlphaChannel ( GWorldPtr sGWorldPtr, GWorldPtr mGWorldPtr )

11-19-07
assign junk mask structures
void TBGPrintView::DoNewReadObjects(CStream_AC	*aStream, short count, bool	isCKSubJob)		// 10-31-03

change job file version number
#define kBaseJobVersionNumber 	0x0000833	// 11-19-07


11-16-07
void swapChromaKeySettings(tChromaKeySettings	*settings)	// 9-21-07
void swapFromHostChromaKeySettings(tChromaKeySettings	*settings)	// 9-21-07

add to tChromaKeySettings structure
tJunkMaskStructure	junkMasks[4];		// 11-16-07

void TImageObject::WriteChromaKeySettings(CStream_AC* aStream)

// try to REmove all references to the OLD Eve3 Key Stuff
tpiEve3KeyHandler.c
replace all refs to "myNewSecurityKey.h" with "myTepsSecurityKey.h"

Added new group folder "TepsSecurityKey.h"
 Any time we wish to do a displayNormalMessage or etc, we should NOT put in TSuperProKey file!!!!!!  

SHOULD NOT BE GETTING ANY ERROR MESSAGES IN THE CONSOLE LOGs!!!!

// 11-19-07
// v14alpha33 ubc
check for REAL santasticMode
if NOT -then behaves like normal app
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)
		// 11-19-07	if (getMyBarcodeAppPrefs()->enableSantastic)		// 9-18-07
#ifdef kAmuseMatteVersion_
			if (getCurrentInputHandler()->IsStartSitting()==false)		// 9-18-07
			{
				// 11-19-07 if (getMyBarcodeAppPrefs()->enableSantastic)	// 9-13-07
				if (getMyBarcodeAppPrefs()->enableSantastic && fMode==kOneUpFillTemplateMode) // 11-19-07

short TGeneralPrintHandler::PrintCanvas()
		if (getMyBarcodeAppPrefs()->enableSantastic && mode==kOneUpFillTemplateMode) // 11-19-07



// 11-16-07
// UBGPrintView.cp
// void TBGPrintView::DoNewReadObjects(CStream_AC	*aStream, short count, bool	isCKSubJob)		// 10-31-03
								gInwardFlag 	= settings.inwardFlag;			// 11-16-07
								gDefocusValue 	= settings.defocusValue;		// 11-16-07
								gShrinkValue	= settings.shrinkValue;			// 11-16-07
								gExclusionMaskRect = settings.junkMask;			// 11-16-07

// 11-16-07
// v14alpha32 ubc

1. update ck pref values for ck and marked/all images
void TImageObject::WriteChromaKeySettings(CStream_AC* aStream)
	if (fView && fView->GetChromaKeyMgr())
	{
		if (fReadFromCKPref)	// 11-16-07
			settings.para = fPARA;
		else
			settings.para = *(fView->GetChromaKeyMgr()->GetParameters());



// 11-16-07
// v14alpha31 ubc
// give to rick@thePartyNeverStops.com
// temporarily patch problem when "auto-switch ck template" is ON
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now, TView	*aView)
					if ((anObj->GetOrientation()==kLandscape && FindPos("_LANDSCAPE", templateName)==0) ||
						(anObj->GetOrientation()==kPortrait && FindPos("_PORTRAIT", templateName)==0))		// 11-16-07 do not reload template if already OK


// 11-15-07 oops later

1. oops forgot to remove message CStr255_AC GetKeyCounter1String ( TTepsSuperProKey* ptr )
{
	// 11-15-07 DisplayNormalMessage ( "GetKeyCounter1String" );	// 11-15-07

2.	fix the counter updating in about box
OSErr GetAboutBoxInfoStuffNew ( unsigned char *swVersion, unsigned char *counterStr, unsigned char *serialStr, unsigned char *keyTypeStr )
			mySProKey->FillInDisplayInfoStrings();	// 11-15-07 put back in

3. make it update the counterValues real time
void TPreviewImageWindow::UpdateCounterValue()
short GetKeyTypeString_FG ( TTepsSuperProKey* ptr, CStr255_AC &counterValueString, CStr63_AC &myKeyTypeStr )
short GetKeyTypeString_BG ( TTepsSuperProKey* ptr, CStr255_AC &counterValueString, CStr63_AC &myKeyTypeStr )
void TPrintBGBehavior::UpdateCounterValue()
{
// 11-15-07	#ifdef kRemoveKeyStuff
// 11-15-07		return;
// 11-15-07	#endif

		eTepsKeyType	GetTPIKeyTypeFound ( void );	// 11-15-07


// 11-15-07
// released to todd to ship out overnite
1. copied changes from edwin to fix crashing in processor with missing printToFileSet pref
void TPrintToFileSetPrefs::UpdateFolderString(tFolderFSSpec *ptr, bool saveAliasHandle)
	if (IsExistingFile(&ptr->file))		// 11-15-07

2. make the processor decrement any NONzero counter location
call short ProcessClickCountAfterPrint ( TTepsSuperProKey* ptr, short printQuantity )
from short TSpoolerPrintView::PrepareForPrinter()

3. reprototype
		// 11-15-07 MOVE to myTepsSecurity.cp	short	ProcessClickCountAfterPrint ( short printQuantity );	// 10-31-07 NOT Implemented YET

4. added functions
		RB_BOOLEAN	ReadPhysicalKeyDataByteLocation( short theCell, RB_WORD &data );	// 11-15-07
		RB_BOOLEAN	WriteMemoryCounter1 ( RB_WORD wData );	// 11-15-07
		RB_BOOLEAN	ReadMemoryCounter1 ( RB_WORD &rData );	// 11-15-07



// 11-12-07 - edwin
// 11-13-07 - edwin
replace all old Navigation calls with new class
CTepsNavClass
created new function myNewChooseFolder:
bool myNewChooseFolder(short	&vRefnum, long &dirId, bool selectDefaultLocation, short	dialogStrID)	// 11-12-07
gets called instead of myChooseFolder

TepsFileHandler.cp
void TTEPSFileHandler::InsertFilesFromReplyRecord(AEDescList selection)		// 11-5-07
created new function that gets called from Preview Images that inserts whole selection in thumbnail window
(you can combine a combination of folder and files now)


// 11-13-07 - steve still marked them as 11-12-07

// copied edwin change - to help fix one of the menuBar issue
TPreviewImageWindow::~TPreviewImageWindow()
	aWindow = FindWindowWithIdentifier('nupc');		// 11-12-07
	if (aWindow)
	{
		aWindow->SetFreeOnClosing(true);
		aWindow->Close(); delete aWindow;
		aWindow	= nil;
	}


// 11-12-07
// v14a22
// ========

1. Try to Fix Issue with multiple-GrabImage commands to the Nikon Camera
class TNikonCameraHandler : public TAllFilesHandler, public TCameraHandler
	bool		SuspendChecking(void);		// 11-12-07
	bool		EnableChecking(void);		// 11-12-07
	bool		fSuspendChecking;	// 11-12-07
TNikonCameraHandler::TNikonCameraHandler()
bool TNikonCameraHandler::Check4NewFiles()
bool TNikonCameraHandler::SuspendChecking(void)
bool TNikonCameraHandler::EnableChecking(void)

2. make GrabImage command RETURN an Error if an error occurred!!!
OSErr TNikonCameraHandler::GrabImage()

#define	kAccessIOStateWait2ndGrabRetry		kAccessIOStateInitialize+6	// 11-12-07	// grab issued to soon - so need to reIssue again
							bool doNewMethod = true;	// 11-12-07
							if ( doNewMethod )
							{
								// 11-12-07 if FAILED - StayHere????
								OSErr retOSErr = getCurrentCameraHandler()->GrabImage();
								if ( retOSErr==noErr )
								{
									printf ( "Setting for NextState = kAccessIOStateWaitDone\n" );
									gAccessIOState = kAccessIOStateWaitDone;
									
									if ( getCurrentInputHandler()->GetFileList() )	// 09-19-07 steve
										((MDependable_AC*)getCurrentInputHandler()->GetFileList())->Changed(cAccessIOStateWaitDone, nil);// 09-19-07 steve
								}
								else
								{
									printf ( "Setting for NextState = kAccessIOStateWait2ndGrabRetry\n" );
									gAccessIOState = kAccessIOStateWait2ndGrabRetry;
								}
							}

				// 11-12-07 reason for kAccessIOStateWait2ndGrabRetry this mode
				// is that we doNOT check for the control lines - and just loop thru to reIssue the Grab Command
				case kAccessIOStateWait2ndGrabRetry:
				{
					ApplicationBeep();
					OSErr retOSErr = getCurrentCameraHandler()->GrabImage();
					if ( retOSErr==noErr )
					{
						printf ( "Setting for NextState = kAccessIOStateWaitDone\n" );
						gAccessIOState = kAccessIOStateWaitDone;
						
						if ( getCurrentInputHandler()->GetFileList() )
							((MDependable_AC*)getCurrentInputHandler()->GetFileList())->Changed(cAccessIOStateWaitDone, nil);// 09-19-07 steve
					}
					else
					{
						printf ( "Setting for NextState = kAccessIOStateWait2ndGrabRetry\n" );
						gAccessIOState = kAccessIOStateWait2ndGrabRetry;
					}
				}
					break;



// 11-11-07
// v14a21 around 5:30pm
// ====================

1. fixed resource for package count for 1194 for santastic only
2. reset santastic window pkg count from 22 to 0
3. added ALRT 1086



short TGeneralPrintHandler::Print()
#ifdef kAmuseMatteVersion_	// 11-11-07
	if (fCanvasQuantityHasBeenSet==false)	// 9-19-03
	{
		fCanvasQuantityHasBeenSet = true;	// 11-11-07
		fCanvasQuantity		= 1;
		
		if ( fPrintWhat==cPrint_Package)
		{
			// 11-11-07 if NOT Santastic Window does NOT exist - neeb a better check??
			// if ( false == getMyBarcodeAppPrefs()->enableSantastic )
			if (nil == FindWindowWithIdentifier('nupc') ) // 11-11-07	new Amusematte n-up window
			{
				fPackageQuantity	= 1;
			}
		}
		else
		{
			fPackageQuantity	= 1;
		}
	}
	
#else
	if (fCanvasQuantityHasBeenSet==false)	// 9-19-03
	{
		fPackageQuantity	= 1;	// 11-11-07 WHY ALWAYS
		fCanvasQuantity		= 1;
	}
#endif
	case cPrint_Package:
		{ // 11-11-07
			char mesg[255];
			sprintf ( mesg, "switch(cPrint_Package) fPackageQuantity = [%i]", fPackageQuantity );
			// DisplayNormalMessage ( mesg ); // 11-11-07
			sprintf ( mesg, "switch(cPrint_Package) doPrompt = [%i]", doPrompt );
			// DisplayNormalMessage ( mesg ); // 11-11-07
		}
			// 10-22-04	writeCD = CheckForCDWriteItemInPackage();		// 8-8-02
			writeCD = CheckForPrinterItemInPackage(kCDWriteItem);			// 10-22-04
			writeFloppy = CheckForPrinterItemInPackage(kFloppyWriteItem);	// 10-22-04

			{ // 11-11-07
				char mesg[255];
				sprintf ( mesg, "Point2 fPackageQuantity = [%i]", fPackageQuantity );
				// DisplayNormalMessage ( mesg ); // 11-11-07
			}
				
#ifdef kAmuseMatteVersion_	// 11-11-07
			// if NOT Santastic Window does NOT exist - neeb a better check??
			//if ( false == getMyBarcodeAppPrefs()->enableSantastic )
			if (nil == FindWindowWithIdentifier('nupc') ) // 11-11-07	new Amusematte n-up window
			{
				if ( doPrompt==false )	GetPrintQuantityFromPrefs (fPrinter, fPackageQuantity);
			}
			else
			{
				// do NOT touch fPackageQuantity
			}
#else
	#ifndef 	kFreezeFrameMacysVersion		
				if ( doPrompt==false )	GetPrintQuantityFromPrefs (fPrinter, fPackageQuantity);
	#endif
#endif
			if ( doPrompt && false==DoPromptForPrintQuantity ( fPrinter, fPackageQuantity) )	return -1;	// 5-7-04
					
			{ // 11-11-07
				char mesg[255];
				sprintf ( mesg, "Point2 fPackageQuantity = [%i]", fPackageQuantity );
				// DisplayNormalMessage ( mesg ); // 11-11-07
			}
			
			short	qty = fPackageQuantity*getNumberOfItemsInPackage(fPackageNumberToPrint);	// 4-9-03
			
			// 11-11-07 - DEBUG to check computation of print Quantity
			{
				char mesg[255];
				sprintf ( mesg, "Calculated PrintQuantity = [%i]\nfPackageQuantity = [%i]", qty, fPackageQuantity );
				// DisplayNormalMessage ( mesg ); // 11-11-07
			}
			
			getCurrentInputHandler()->SetTotalNumberOfSheets(qty);	// 4-9-03
			break;




// 11-11-07 still not working
// v14a20
const ResNumber		cResNumPrintSummaryWindowSantastic	= 1194;		// 11-11-07 // TPrintCountWindow for Santastic
fix this resource view as well too

#ifdef kAmuseMatteVersion_	// 11-11-07
			// 11-11-07 reset amusematte running total customer count
			{
				TView* numTextView = FindSubView('r600');	// 11-11-07
				if ( numTextView ) ((TNumberText*)numTextView)->SetValue(info.customerCount, kDontRedraw);	// 11-11-07
				if ( numTextView ) DisplayNormalMessage ( "FindSubView('r600') is NOT nil" ); // 11-11-07
			}
#endif

								// 11-11-07 debug
								char mesg[255];
								sprintf ( mesg, "Package[%i] count = [%i]\n", i, packQty[i] );
								// DisplayNormalMessage ( mesg );




// 11-11-07
//  v14a20

// change resource file

// adde fileName text string to santa zoom view
// change from 22 to 0 in the portrait ck templ qty0 of 2204



// fix crash
#include "DragAndDropToolWindow.h"	// 11-11-07
void TPreviewImageWindow::CloseToolWindows()	// 10-19-04
		((TNewCKToolWindow*)aWindow)->SaveSettings();	// 11-11-07
		aWindow->Close();	// 11-11-07
		//aWindow->DoEvent(mButtonHit,aWindow->FindSubView('done'),nil);
		//						myApplicationPollEvent();	//4-13-05


// 11-11-07 added this function
void TNewCKToolWindow::SaveSettings()	// 11-11-07
{
	if (fPreviewImage) fPreviewImage->SaveAllSettingsToImage();
		
	if (fDoComposite)
	{
		((TChromaKeyTools*)FindSubView('tool'))->InitializeModes();				// 5-5-04														   
		((TChromaKeyTools*)FindSubView('tool'))->Refresh(false);				// 5-5-04
	}
}

void TModalPreviewImageWindow::SetNewCKTemplate(FSSpec	tmpFSSpec, short	imageNumber)
						TImageFileObject	*anObj = ((TImageFileObject*)getCurrentInputHandler()->GetFileList()->At(imageNumber));	//11-11-07

						((TDropPreviewImage*)theSubView)->PreviewImage(((TImageFileObject*)getCurrentInputHandler()->GetFileList()->At(imageNumber)));
						
						((TMyImageToolsView*)this->FindSubView('imtl'))->SetPreviewImage(((TDropPreviewImage*)theSubView));
						
						// 11-11-07
						if ( anObj )
						{
							// ((TStaticText*)FindSubView('file'))->SetText(CString_AC(anObj->GetFileName()), kRedraw);	//11-11-07
							TStaticText* filenameView = ((TStaticText*)FindSubView('file'));	// 11-11-07
							if ( filenameView )
								filenameView->SetText(CString_AC(anObj->GetFileName()), kRedraw);
						}




// 11-10-07
// release as v14alpha19

// 11-10-07 also USED new superprokey BUILT library.a instead of rebuilding tools/source file
/Tools/Metrowerks CodeWarrior 9.0/CurrentTriprismLibraries/SuperProKey/library/libSuperProKey.a

// added ALRT 1086

// 11-10-07
// 11-10-07 maybe check here
#ifdef kAmuseMatteVersion_
	{
		bool boxConnected = false;
		AccessIOHandler* curAccessIOHandler = ((TTeps2000Application*)gApplication)->fAccessIOHandler;
		if ( curAccessIOHandler )
		{
			boxConnected = ( curAccessIOHandler->IsConnected() )
		}
		
		if ( (false==getMyBarcodeAppPrefs()->enableSantastic) && (boxConnected==false)	)
		{
			if (getCurrentInputHandler()->GetNumberOfMarkedImages() > 0)
			{
				// do your stuff first after which they will have to rescan
				short retValue = MacAppAlert(1086, NULL);
				if ( retValue==1 )
				{
					// yes - we forgot
					return false;
				}
				
				//PrintPackage(1, true, false, true);
				
				// then continue forward
			}
		}
	}

#endif
// 11-10-07


// 11-9-07
#ifdef kAmuseMatteVersion_	// 11-9-07
#ifdef kAmuseMatteVersion_
		if (false==getMyBarcodeAppPrefs()->enableSantastic)	)
		{


// 11-08-07
1. return something for
bool checkForValidKeyAtStartup ( TTepsSuperProKey* ptr, bool doExitToShell )
	return isValidKey;	// 11-08-07

2. do NOT validate esp if called at startup
Boolean setMySittingDirectoryPrefToFactoryDefaults ( tSittingDirectoryPrefPtr ptr )



// 11-07-07
TSuperProKey.cp
UBackgroundPrintApp.cp
UTeps2000Application.cp
myTepsSecurity.cp
myTepsSecurity.h


bool checkForValidKeyAtStartup ( TTepsSuperProKey* ptr, bool doExitToShell )

1. Try to make it so that santastic key ONLY runs on santastic version
and Teps-X key ONLY runs on standard Teps-X key


2. try to speed up the reading of the physical key
RB_BOOLEAN TTepsSuperProKey::ReadPhysicalKeyData()
	short maxBytesToRead = kSPP_MinBytesToRead;	// 11-07-07 Make IT FASTER

3.make santastic key show up as santastic key
		case TTepsSuperProKey::eTepsKeyVersion_TepsSantasticV14:
			// sprintf ( tempBuffer,"%s", "Teps-Share V14" );	// 11-07-07
			sprintf ( tempBuffer,"%s", "Teps-Santastic V14" );	// 11-07-07

4. make teps-x and teps-processor both call the same startup key function
void  TTeps2000Application::CheckForSecurityKey()
void TBackgroundPrintApp::IBackgroundPrintApp()
bool checkForValidKeyAtStartup ( TTepsSuperProKey* ptr, bool doExitToShell )
			bool isValidKey = checkForValidKeyAtStartup ( GetTpiKeyHandler() );

5. added more splash screen messages to track down the lock up of validation of folders

6. In the Processor - remove "testSuperprokey.xx" from the Group/File list 

7. only check for accessIO box in Santastic version
// 11-07-07
#ifdef kAmuseMatteVersion_	// 11-07-07
	// 09-04-07 steve
	// we really want this ON IF we are running the Santastic Version????? ONLY
	fAccessIOHandler = new (AccessIOHandler);
	if ( fAccessIOHandler )
	{
		if ( !fAccessIOHandler->IsConnected() )
		{
			// may NOT be loaded yet... DisplayNormalMessage ( "You Are MISSING the ACCESS/IO Control UNIT??????" );
			printf ( "fAccessIOHandler->IsConnected() is NOT connected AT Startup???\n" );
		}
		
	}
#endif





// 11-1-07
// 11-01-07

added save the "Create Default if Not Found" checkbox options for kPrefKeyForSittingFoldersPref

added kPrefKeyForSittingFoldersPref
NSMutableDictionary* CopyUserPreferencesToDictionary ( void )
bool CleanUpOldPrefsInUserDefaults ( void )


// copied changes from edwin to save the prefs for the "create default if not found"
MA_DEFINE_CLASS(TSittingDirectoryPrefObject);	// 11-01-07
class TSittingDirectoryPrefObject : public MStreamable_AC
void TSittingDirectoryPrefObject::WriteTo(CStream_AC	*astream)		// 11-1-07
void TSittingDirectoryPrefObject::ReadFrom(CStream_AC	*astream)		// 11-1-07
void myWriteSittingDirectoryPref( bool doSynchNow=false);		// added 11-1-07
void myReadSittingDirectoryPref()	// added 11-1-07
void myNewWritePrefs()
void myNewReadPrefs()


// fix crashing issue when key is not plugged in
void  TTeps2000Application::CheckForSecurityKey()

// prevent about box from getting crap string
OSErr GetAboutBoxInfoStuffNew ( unsigned char *swVersion, unsigned char *counterStr, unsigned char *serialStr, unsigned char *keyTypeStr )


// 11-1-07
copied changes from edwin to make bg chooser printing NOT crash
STILL have problem with the chooser window wanting to become active

bool TTepsChooserPrintHandler::DoPrintCommand(CommandNumber aCommandNumber)
	((TCarbonPrintJob*)info)->SetNoDialog(true);	// 11-01-07
	((TCarbonPrintJob*)info)->BanishPrintDialog();	// 11-01-07
	bool	returnState = true;	// 11-01-07
	bool	doNewMethod = true;	// 11-01-07
	if ( doNewMethod )




// 10-31-07 later
make the about box bigger to see the type of security connected key

cResNumTeps2000SplashView
1015
1018



// 10-99-07 need to remove these
// TAKE A LOOK AT LATER 10-99-07
NameChooserStdPrinhandler.cp NOT used in FG??????
	TTepsChooserPrintHandler
URedirectedChooserPrintHandler NOT used in FG????



// for scene to believe
// 10-31-07
// v14alpha16
=============

ReMove displays of error/debug messages
---------------------------------------
		// 10-31-07	printf ( "This TProgressWindow Has NO Chasing Arrows\n" );
	// 10-31-07	printf ("TNoTouchWindow::DoInitForCarbonEvents\n" );
		// 10-31-07	printf ( "This TProgressWindow Has NO Chasing Arrows\n" );
	// 10-31-07	printf ("TNoTouchWindow::DoInitForCarbonEvents\n" );

// 10-31-07
1. Started to Change the SecurityKey - in the "CurrentTriprismLibraries" folder
	TSuperProKey.cp
	TSuperProKey.h
	class TSuperProKey
			bool	FillInDisplayInfoStrings ( TTepsSuperProKey	*mySProKey );	// 10-31-07
			char		fKeySerialNumberString[255];	// 10-31-07
			char		fKeyTypeString[255];			// 10-31-07
			char		fKeyVersionString[255];			// 10-31-07

2. prohibit the chooser jobs going to the processor
	short TGeneralPrintHandler::PrintCanvas()
		// 10-31-07 - chooser printing the bg is NOT working for now
		{
			getMyChooserPrefs()->alwaysPrintThroughProcessor = false;
			printf ( "Forcing getMyChooserPrefs()->alwaysPrintThroughProcessor to FALSE = 10-31-07\n" );
		}
3. 	if ( fDisplay ) fDisplay->DisplayMessage ( "TSuperProKey::DisplayMessage=> " + theString );	// 10-31-07 // 02-16-06
	void TSuperProKey::DebugMessage ( std::string theString, bool forceMessage )
	bool FindAnySuperProKey ()

4. make the about box show the securityKeyInfo at startup
void MyStartupSplashWindowUpdateCurrentVersions ( TView *aView )
	if ( aView )	aView->ForceRedraw();	// 10-31-07 force the redraw

5. update the "looking for GREEN Key" at startup splashScreen
6. do NOT show the "testing 19" static text in MainWindow#1000



// 10-30-07 copy changes from edwin
1. NameStdPrintHandler.cp and Preferences.cp from edwin
TFile* GetChooserPrinterPrefFile()	// 10-30-07
2. added more printfs to see why the spooler cannot do chooser printing correctly





// 10-30-07
support chooser printing

Add printing_car.rsrc to project

// 10-29-07
// v14alpha15

// try to fix issue when there is NO media options read-in from package pref - dont touch the existing one
// v13 never saved out the media options when saving the packages to a file
void readInAssociatedMediaPref(short printer)		// 5-25-06
	tFloppyWritePrefs		tempFloppyWritePrefs;	// added 10-29-07
	// 10-29-07 - clear out just in case so we know that it is ALL Zeros
	memset ( &defaultMediaPref,0,sizeof(defaultMediaPref) );	// 10-29-07
	memset ( &data,0,sizeof(data) );							// 10-29-07
	memset ( &mitsubishiMedia,0,sizeof(mitsubishiMedia) );		// 10-29-07
	memset ( &CDdata,0,sizeof(CDdata) );						// 10-29-07
	memset ( &tempFloppyWritePrefs,0,sizeof(tempFloppyWritePrefs) );	// 10-29-07
	// 10-29-07 replace all ReadStruct with ReadStruct2
	// 10-29-07 only assign if ReadStruct2 succeeds





// 10-27-07 (dated the 27th but really done on the 26th)
// 10-26-07
v14alpha14 - given to sceneToBelieve

2145 is TNikonCameraControlWindow

1. save packages out to v14 fromat
#define kPrefKeyForTepsPackagesV14					@"Teps v14 Packages Dictionary"			// 10-27-07

2. use new method to load/save packages
		case cDuplicatePackageFile:		// 9-17-01
				// 10-27-07 new method
				extern void SaveToNewPackagePreferencesFile ();	// 10-27-07
				SaveToNewPackagePreferencesFile();	// 10-27-07
				break;
		case cLoadOtherPackageFile:		// 9-17-01
				{
					// 10-27-07 new method
					bool doNewMethod = true;	// 10-27-07
					if ( doNewMethod )
					{
						extern bool LoadFromNewPackagesPreferencesFile ( void );	// 10-27-07
						LoadFromNewPackagesPreferencesFile();	// 10-27-07
					}
					else
					{
						extern bool myLoadOtherPackageFile();
						myLoadOtherPackageFile();
					}
				}

3. changed NikonCameraControlWindow to just have TWO buttons = OKAY and "Set As Default"
	teps-x.rsrc #2145
	
4. do NOT auto setAsDefault when okay button is clicked
// 10-27-07 dont want to do this ((TNikonCameraControlWindow*)aWindow)->SetAsDefault();

5. give better window title name to Save Teps Preferences
void SaveToNewPreferencesFile ()
		[sp setTitle:@"Save Preferences to File..."];	// 10-27-07

6. do new method of saving/loading package files
NSMutableDictionary* CopyPackagePreferencesToDictionary ( void );	// 10-27-07
void SaveToNewPackagePreferencesFile ();	// 10-27-07
void SaveToNewPackagePreferencesFile ( NSString *newPathName );	// 10-27-07
bool LoadFromNewPackagesPreferencesFile ( void );	// 10-27-07






// 10-25-07
// 10-25-07 - gave out to release v14alpha13


Use "Comic Sans MS" Bold,Extended, 18pt Blue

change 'TxSt' #1001 back to applicationFont 10pt
added 'TxSt' #1052 to Tekton Bold 18pt
Change resource #1001 to use TxSt #1052

1. try to make the TNoTouchWindow's window bar be shifted up by 20 pixels up - so it's
	NOT visible when the app's menuBar is Hidden

Processor -
1. change the printJob headers from Boolean to shorts
2. change the job version number between teps-processor and printCenter


AmuseMatte -
1. change PICT#161 for santastic's discover logo
and 2200 also





// 10-19-07 released to scene to believe


// 10-19-07

removed eraseAdorner from 2142
fix window 1001 - utils window
	removed eraseAdorner from 1001
	hide picture 433 from 1001 (the striped lines)
	added three texts in place of the picture 433 
	added TxSt - 1000 to be tekton bold 18pt blue - which means we now need to install this font

const	ResNumber	cTCKUpListWindow	= 2142;	// Custom Open CK template Nav Window


// 10-18-07 - copied stuff from edwins email
1. fix toolTips (balloonHelp)
		TIconShowBalloonBehavior	*aBH = new TIconShowBalloonBehavior(FindSubView(theType), strID, ind, kCenterAtBottom);		// 10-18-07
2. copy resources STR#4113
3. fix step #4 of ck - with selecting the color pixel




// 10-17-07
1. myCreateNameUtils.c
	show correct function name when erroring out
				DisplayNormalMessage ( "newGetUniqueNameWithCopy - Cannot loop beyond 5000???");	// 10-17-07
				DisplayNormalMessage ( "newGetUniqueNameWithCopy - Should never be here either?????" );	// 10-17-07

2. need new function to start using cocoa/CF to duplicate file
	has problem with incorrectly modifiying FSSpec
	short doNSCopyTheFile ( FSSpecPtr mySourceFSSpecPtr, FSSpecPtr myDstParentFSSpecPtr, char *dstFileName, bool overwriteExisting);// 10-17-07

3. need to re-do a lot of functions to something like
OSErr createNewFolder2 ( CStr31_AC theName, short vRefNum, long	parID, FSSpec *theNewFolderFSSpec);	// 10-17-07

4. try to fix issue with printToFile to SMB Server AS WELL as MAC OS volumes
short 	TBGPrintView::DoNewPrintToFile2 ( GWorldPtr anOffscreen )
short 	TBGPrintView::DoNewPrintToFile(GWorldPtr	anOffscreen)		// 4-14-04
{
	
	return DoNewPrintToFile2 ( anOffscreen );	// 10-17-07
}

5. new function to save gworld to LOCAL folder first
bool NewSaveOffscreenToFileNew(short outputType,
								GWorldPtr anOffscreen,
								FSSpec &fileSpec,	// 10-17-07 this WILL get modified!!!!
								bool overwriteExisting,
								short dpi,
								short JPEGQuality,
								short saveOnPC ); // 10-17-07

6. try to fix ABOUT BOX - still having problem with 'but1' and 'but2'
void TAboutWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void GotoURL ( CStr255_AC theURL );	// 10-17-07




// 10-16-07
fix for Kodak 9810 to use BGR
and 6800 and 8500 to use Sequential RGB

// 10-15-07
// 10-16-07
added all prefs that were not implemented yet
anObjectKeyName = kPrefKeyForNoritsuNetOrderPrefs;					// 10-15-07
anObjectKeyName = kPrefKeyForOlmecOP800Prefs;						// 10-15-07
anObjectKeyName = kPrefKeyForDatabasePrefs;							// 				
anObjectKeyName = kPrefKeyForMitsu90009500Prefs;					// 10-15-07
anObjectKeyName = kPrefKeyForMitsu8000Prefs;						// 10-15-07
anObjectKeyName = kPrefKeyForMitsu9550Prefs;						// 10-15-07
anObjectKeyName = kPrefKeyForMitsu3020Prefs;						// 10-15-07
anObjectKeyName = kPrefKeyForMitsu3020DAUPrefs;						// 10-15-07
anObjectKeyName = kPrefKeyForOSPrintCenterPrefs;					// 10-15-07
anObjectKeyName = kPrefKeyForExternalVideoPrefs;					// 10-15-07
anObjectKeyName = kPrefKeyForSlideShowPrefs;						// 10-15-07
anObjectKeyName = kPrefKeyForOutputFiles;							// 				
anObjectKeyName = kPrefKeyForPreviewImagesPref;						// 10-15-07
anObjectKeyName = kPrefKeyForPromptForImagePref;					// 10-15-07
anObjectKeyName = kPrefKeyForGraphicsPref;							// 				
anObjectKeyName = kPrefKeyForFujiPG3000Prefs;						// 10-16-07
anObjectKeyName = kPrefKeyForFujiPG3500Prefs;						// 10-16-07
anObjectKeyName = kPrefKeyForFujiPG4000Prefs;						// 10-16-07
anObjectKeyName = kPrefKeyForFujiNC600Prefs;						// 10-16-07
anObjectKeyName = kPrefKeyForCustomerOrderPrefs;					// 10-16-07
anObjectKeyName = kPrefKeyForLogFilePrefs;						// 10-16-07


// 10-13-07

1. fixed issue with RAW images thru using CIImage
CImageFile::CImageFile(std::string path)
put back code that we took out because of COLOR ISSUES ======> Still NEED to FIND Problems

2. fix reading of raw files
GWorldPtr	TNewAllFilesHandler::GetPreviewImage()
		// 10-13-07	CImageFile	anImage(mPath);	// 10-13-07 fails to keep the funny characters like "Main Images Folder "
		// CImageFile	anImage(typeName);	// 10-13-07 use the NSString method - keeps funny characters in tact
		CImageFile	anImage(&fsref);	// 10-13-07 use the FSRef also works
GWorldPtr	TNewAllFilesHandler::GetFullSizeImage()
GWorldPtr	TNewAllFilesHandler::GetThumbNailImage()




// 10-13-07 - even though from 10-12-07
merge into edwins project


//  10-13-07
//============
1. build the nikon camera compressionLevel list correct (fileType ie)
	fixes issue with compressionLevel List in PopUp NOT matching the camera body
	OSErr TNikonBaseCameraHandler2::ChangeFileType(short which)
	{
		BOOL bRet;
		eNikonFileType	theType	= (eNikonFileType) which;
		
		bool doNoTranslation = true;	// 10-13-07
		if ( doNoTranslation )
		{
			bRet = mySetEnumCapability( pRefSrc, kNkMAIDCapability_CompressionLevel, which);
			((TNikonCameraHandler*)getCurrentCameraHandler())->SetExtension(".JPG");	// 10-13-07 THIS is wrong if NEF
		}

2. register the TFineTuneWindow now that we got it to work
3. make the nikon camera window ALWAYs do a save as default when click on okay
3. make the canon camera window ALWAYs do a save as default when click on okay
4. Use LARGE TEXTEDIT Window in Santastic MODE???






// 10-12-07 edwin implemented load/save prefs of these
added the following preferences keys:
kPrefKeyForNoritsuNetOrderPrefs
kPrefKeyForOlmecOP800Prefs
kPrefKeyForDatabasePrefs
kPrefKeyForMitsu90009500Prefs
kPrefKeyForMitsu8000Prefs
kPrefKeyForMitsu9550Prefs
kPrefKeyForMitsu3020Prefs
kPrefKeyForMitsu3020DAUPrefs

class TMitsubishiPrinterPrefObj : public TUpdColorAdjustInfoObject		// 10-12-07
class TNoritsuPrinterPrefObject : public TUpdColorAdjustInfoObject
class TOlmecOP800PrinterPrefObject : public TUpdColorAdjustInfoObject		// 10-12-07



// 10-11-07
//============
/ copied from edwin
// inputPreferences.cp
// save camera hot folder settings and camera app name


// added 1226 resource
// added TxSt 1226 application14Bold
// 10-11-07 NOT USED	const ResNumber		cThumbNailToolsWindow		= 1226;
const ResNumber		cPredefStringsListWindowAllLarge		= 1226;	// 10-11-07



// 10-11-07
copied changes from edwin

1. fixes target issue with the large ck window in santastic mode
2. show progress indicator after entering id via apple-1 barcode window
3. fix funny characters in operations window title when there is NO ck template selected in ck mode



// 10-11-07

fix color adjust issues
short convertDKCtoGworld3 ( unsigned char *inBufferPtr, GWorldPtr myGworldPtr )		// 8-26-05







// 10-10-07
// if accessIOHandler is connected, then use larger window
const ResNumber 	cCameraStatusLargeWindow	= 1218;	// 10-10-07 for accessIO Window
		case cShowCameraStatusWindow:
				aWindow = FindWindowWithIdentifier('cams');
				if (aWindow==nil)
				{
					// 10-10-07	aWindow = TViewServer::fgViewServer->NewTemplateWindow(cCameraStatusWindow,NULL);

					ResNumber cameraStatusWindowResID = cCameraStatusWindow;
#ifdef kAmuseMatteVersion_	// 10-10-07 check for accessIO box - if connected - use the larger cCameraStatusLargeWindow
					AccessIOHandler *curHandler = ((TTeps2000Application*)gApplication)->fAccessIOHandler;
					if ( curHandler )
					{
						if ( curHandler->IsConnected() == true )
						{
							cameraStatusWindowResID = cCameraStatusLargeWindow;
						}
					}
#endif
					
					aWindow = TViewServer::fgViewServer->NewTemplateWindow(cameraStatusWindowResID,NULL);
				}


// 10-10-07
SEE ==> document in TepsPreferencesKey.h
preferences that still need to be saved
clean up this file too
removed
				// 09-27-07 memoryleak	[baseString retain];
				// 09-27-07 memoryleak	[baseString release];




// 10-09-07
defined TepsVersionNumber as v14alpha10 for Processor Project for all THREE targets
now we just need to change it 3x -- once for each target
before we had to change in each info.plist 3x3 = 9 times for all targets combined




// sent version to edwin around 4pm

had to make changes in myCopyFileUtils.cp for the preferences name
and typo in calling myWriteChromaKeyPrefs()


// 10-09-07
save the three new prefs to file
			anObjectKeyName = kPrefKeyForColorSyncPrefs;				// 10-09-07
			anObject = [oldPrefs objectForKey: anObjectKeyName];
			if ( anObject )	[newTepsPrefDictionary setObject:anObject forKey:anObjectKeyName];			
			
			anObjectKeyName = kPrefKeyForPrintCountPref;				// 10-09-07
			anObject = [oldPrefs objectForKey: anObjectKeyName];
			if ( anObject )	[newTepsPrefDictionary setObject:anObject forKey:anObjectKeyName];			

			{	// 10-09-07 saving editable text CONTENTS in loop
				const short cMaxArraySize = kPrefKeyForEditableTextMaxCount;	// 10-09-07
				NSString *baseString = kPrefKeyForEditableTextPrefs;			// 10-09-07

				for ( short i=1; i<=cMaxArraySize; i++ )
				{
					anObjectKeyName = [baseString stringByAppendingFormat:@"%02i", i];
					anObject = [oldPrefs objectForKey: anObjectKeyName];
					if ( anObject )	[newTepsPrefDictionary setObject:anObject forKey:anObjectKeyName];
				}
			}





// 10-09-07

// copy changes from edwin
// fix why zero angle rotation does NOT stay at zero degree???
1. fix the angle rotation issue and update text when slider moves
		case 'angl':if (fPreviewImage != nil)
						this->Update();			// 10-9-07
2. fix issue if angle is ZERO
							if (theValue == 0)	// 10-9-07


// call new prototypes
void TDropPreviewImage::SetSettingsAsDefault()
		extern void myWriteChromaKeyPrefs( bool doSynchNow=false);	// 10-09-07 reprototype
		myWriteChromaKeyPrefs(true);	// 10-09-07 force true

void TOneUpPreviewImage::SetSettingsAsDefault()
		extern void myWritePreviewPref( bool doSynchNow=false);	// 10-09-07 reprototype	// 9-14-07
		myWritePreviewPref(true);	// 10-09-07 force true

void TPreviewImage::ChangeCropping()
		extern void myWritePreviewPref( bool doSynchNow=false);	// 10-09-07 reprototype	// 9-14-07
		myWritePreviewPref(true);	// 10-09-07 force true


// make the preferences functions more consistent
make consistent
writeMyPreviewPref to myWritePreviewPref
readMyPreviewPref to myReadPreviewPref
readMySepiaTonePref to myReadSepiaPref
readMyOldTimeColorPref to myReadOldTimeColorPref


// change name from 1000 to no 1000
DoTepsSettingsMenuItem from DoTeps1000Settings??


// FG and BG
// force app to quit after doing a "Load Preferences"
		case cLoadNewPrefFile:
				{
					short	input = getMyInputPrefs()->input;
					// 09-26-07	if (myLoadNewPrefFile(fCreator))
					extern bool LoadFromNewPreferencesFile ( void );	// 09-26-07
					if (LoadFromNewPreferencesFile())
					{
						// 10-09-07 Always force - does NOT care about which button returned
						if (MacAppAlert(1025, NULL)==1)
						{
							ExitToShell();
						}
						break;


// if user hold down all three keys - ctrl-alt-cmd - at startup 
//	teps will NOT search and validate all the server paths
// UTeps2000Application.cp
	// 10-09-07 - allow expert user to stop checking for servers
	bool doValidateFolder = true;
	doValidateFolder = (! ( IsCommandKeyDown() && IsOptionKeyDown() && IsControlKeyDown() ));
	if ( doValidateFolder==false )
	{
		DisplayNormalMessage ( "Do You Know What You Are Doing???" );
	}



// try to fix the blue color cast issue when doing hi res preview and printing in processor
//  when we use the angle rotation option
// UImageObject.cp for FG and PROCESSOR
	// 10-09-07	wrong for intel mySetAllPixelsInOffscreen (  workGWorld );
	// 10-09-07 do NOT use mySetAllPixelsInOffscreen especially for intel cpus
	extern bool myFillOffscreen ( GWorldPtr myMaskGWorldPtr );
	myFillOffscreen ( workGWorld );	// 10-09-07







// 10-08-07

1023 make 'stop' button the cancel button

look for 10-08-07
look for 10-8-07

// fix issue with filename disappearing
void TN_UPThumbNailView::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)



// 10-06-07

all changes marked at 10-06-07

1. try to fix problem with nikon camera if disconnected tooo long ?? still not sure if that worked
2. fix problem with nikon camera if camera not found the first time
	it allowed the start sitting to work the second time around - even though still no camera???
3. fix problem cQuit and cAEQuit????
	need to test quit from all difference windows of running app
	




1190 package count window added



	REGISTER_CLASS_AC(TPackageTotalsWindow);				// 10-5-07

fix 1208
fix sizes TRGBValuesWindow - RGB Coordinates Densitometer

// add buttons to 2207
2207 - added the reset zoom/shift button 'rszh'
2207 - added the reset color adj button 'rscs'



// teps1000Preferences.cp
// saving print count prefs
#define kPrefKeyForPrintCountPref			@"printCountPref"		// 10-5-07

//adding package totals for print count stuff





// fix issue with zooming out
void TMyImageToolsView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
{
	bool	updateTotal= false;
	
    if ( (eventNumber == mStartMouseDownButton) && fPreviewImage )		// these lines fix update problem 10-5-07
    {
        fPreviewImage->SetDragging(true);
    }

    if (eventNumber == mLetGoMouseDownButton)							// these lines fix update problem 10-5-07
    {
        if (fPreviewImage)
        fPreviewImage->SetDragging(false);
    }





// try to fix crashing issues - when nikon camera is disconnected -
OSErr	TNikonBaseCameraHandler2::FindCamera()
			DisplayNormalMessage( "TNikonBaseCameraHandler2::FindCamera => Module object can't be opened.\n" );



// 10-05-07
removed some test displayNormalMessages

// add buttons to 2207
2207 - added the reset zoom/shift button 'rszh'
2207 - added the reset color adj button 'rscs'

// initialize with correct ck values
	ckProp->imageSettings.cropping		= getMyPreviewPrefs()->croppingMode;	// 10-5-07
	ckProp->imageSettings.hRatio		= getMyPreviewPrefs()->HRatio;			// 10-5-07
	ckProp->imageSettings.vRatio		= getMyPreviewPrefs()->VRatio;			// 10-5-07
	ckProp->imageSettings.cropWhere		= getMyPreviewPrefs()->cropWhere;		// 10-5-07












merge the file types


ALRT 2200 = center it to main screen

make "edit existing ck template" open with the ck list view






// 10-04-07 edwin
set defaults for ck settings mode
void loadFromDefault(tCKImageProperties	*ckProp)		// 10-4-07
void TImageFileObject::IImageFileObject(TFile *aFile, float rotation)

fix pref issue when clciking on cancel

only allow one Teps-Processor



// 10-04-07
need to give to serge to test
testing 12


// 10-4-07
copied changes from edwin
0. changed job version between teps-x and processor!!!!!!
1. check for another spooler running
2. fix ck template attribute issue
			case kAttributeObjectType:															// 11-23-04
							aStream->ReadBytes(&atDesc, classSize);

							swapAttributeDesc(&atDesc, fIsMotorolaVersion);
							
							fSubjobResizeMode = atDesc.CKTemplateResizeMethod;				// 10-4-07
							fSaveCKTemplateAsIs = atDesc.doNotSaveToOutputTemplate;			// 10-4-07



10-03-07
1. added the correct method to search for nikon cameras
2. fix issue with trapping cAEQuit
	in essence we want the fmainWindow to be the frontMost window of our app
	(even if app is in background)
				if ( fMainWindow == GetFrontWindow() )	// 10-03-07
	i would like to check for utils window also - if that is the foremost by itself
	then its okay to quit too.
	
3. allow calculate to work





10-03-07
========

Processor 
Copy Bundle Resources - remove excess copies 

teps-x
added the teps document icons types


void T_NUPCKViewWindow::CalculateTotal()	// 9-25-07
{
	// 10-03-07	return;	// 09-26-07


2200 make quantity view NOT editable????? not enabled - looks dimmed???
WHY NOT a TStaticText????





10-02-07
CameraStatusWindow.cp
PreviewImageWindow.cp
CommandNumber.h

#1135 = TAttributeSettingsWindow



// 10-02-07
steve - already given out version 14alpha6
next one is v14alpha7
#1000 = "testing 10"





10-2-07
add custom option for print to file set
change delay value to floats
create myNewApplicationPollEvent for some progress and about box update issues



1. fix preferences issues
	look for 10-1-07 for edwin's changes

2. added TNumberText to barcode app prefs

3. Added 5th package view to santastic vertical and horizontal view

4. add button "teps-processor..." id='proc'

5. use the barcode barcodePref->value1 and barcodePref->value2
								// 10-01-07 - Need to wait delay
								if ( getMyBarcodeAppPrefs() )
								{
									short valueInSeconds = getMyBarcodeAppPrefs()->value1;	// 10-01-07 use value1
									if ( valueInSeconds )
									{
										long valueInTicks = valueInSeconds * 60;
										waitfor ( valueInTicks );
									}
								}
								




		TWindow	*aWindow = TViewServer::fgViewServer->NewTemplateWindow(1028,NULL);	// 09-29-07???? why is the print qty window?????

1103
1104 select graphic ovrlay
1105 image object settngs
1106 create/open nodes menu window
1107 image coordinates TCoordinatesWindow
1108 resize tool info TSettingsWindow
1109 StampToolObjectSettings TStampSettingsWindow
1111 TTextSettingsWindow

1114 TNodeViewSettingsWindow
1115 duplicateNode rows/cols
1116 TObjectSizeWindow layoutSize/Constrain aspectRatio
1117 TLayoutSizeInfoWindow

1118 templateUtilMenuWindow
1119 TEditTextSettingsWindow
1120 TLayoutObjectListWindow
1121 TDropOverlayWindow
1122 TFileOverlaySettingsWindow 

1123 TAlignWindow (has eraseAdorner) 'slow'

1125 TCopyToSpoolerWindow
1126 Database OR File??

1129 ChromakeyUtilMenuWindow
1130 pick the overlay to replace

1131 TBackColorSettingsWindow
1132 autoLayout nodes

1133 TGroupPhotoSettingsWindow
1134 TDatabaseSettingsWindow
1135 TAttributeSettingsWindow for CK templates

1186 TKodakUtilWindow
1187 NewStartSittingSetupView/?????

1189 for desktopdarkroom???

1192 colorsync window???

1201 tn_upThumNailView Window

1204 TDragAndDropToolWindow
1206 TPrintToolBarWindow Expert

1208 TRGBValuesWindow - RGB Coordinates Densitometer
1210 TPrintToolBarWindow Beginner

1211 TCameraStatusWindow
1212 TExternalVideoWindow
1213	TCroppingMarkWindow
1214 number of images added

1215 TCroppingMarkWindow???

1220 TPredefStringsWindow

1221 EditStringOrLabel for ONE
1223 EditStringOrLabel/??? for ALL

1225 TColorAdjustWindow

1240 TStudentBarcodeWindow SwipeBarcode
1242 TSchoolPhotographyWindow
1243 TSchoolPhotographyWindow KioskWindow???
1244 PrintThisPackage window
1245 TPackageQuantityWindow
1246 convert file window????

1247 rotate marked or all images
1248 dragAndDropSettings for tepspref
1249 TSlideControlWindow

1253 TSlideControlWindow??? expert

1254 TFileInfoWindow

1260 TShiftAndZoomWindow

1261 TSchoolPhotographyWindow??????

1263 TCustomFolderNameWindow <<<<<<<<<<<<<<<

1264	TCustomFileNameWindow sub item under start sitting setup
1265 TBackupWindow
1266 selectFolder TFolderListView

1268 TSelectOneFolderWindow
1269 TCustomFileNameWindow

1271 TVideoMonitorStampWindow

1275 font pref window for ????

1286 TImportFileWindow

1292 TFindPCCardWindow
1293 TPasswordView enter password

1294 TCDWritePrefWindow

1295 enter school/database name

1300 thumbnail view?? each thumbnail???

1380 TPackageWindow
1381 edit package TPackageEditWindow
1382 CustomizeStartSitting TCustomCopyPrefWindow <<<<<<<<
1385 show print package items

1390	TShowBurnedImageWindow


1540 TStudentBarcodeWindow swipeCardWindow



// 09-29-07
steve dated everythin 29th

MADE cUtilitiesWindow have id='utlw'
MADE 1035 have id='prfW'
solution the crashing problem
is to make sure when pref window is opened - it dimms out the forceQuit command menu items


9000
1125
1127
1128


fix crashing when pref window is front and dockIconQuit
			if (fMainWindow && fMainWindow->IsShown() && fMainWindow->IsActive() )	// 09-29-07 IsActive() // 09-12-07 try not to crash





// 09-28-07
add Editable text saving
add Colorsync saving
fix some update issues

void myApplicationPollEvent()		// 2-22-02
{
// 9-28-07 again DONT POLL	return;
return;

	- Santastic Window, add aView->Update
	- Progress Indicator, add Invalidate and Update in Continue
	- Thumbnail bar

void LaunchSpoolerApp(bool	check)
add:
	#ifdef kAmuseMatteVersion_
		pstrcpy(tmpFSSpec.name, "\pTeps-Processor amuseMatte.app");	// 09-28-07
	#endif

// 09-27-07
// BOTH TEPS-X and Teps-Processor

1. Change all version to be v14alpha5 ubc

2. fix possible memory leaks with dangling retains
	look for:
		// 09-27-07 memoryleak [baseString retain];

3. use WriteToMyUserDefaults and ReadFromMyUserDefaults in
	aliasHandleUtils.cp
	packageUtils.c
	
4. use constants from TepsPreferencesKeys.h

5. added bool addToNewListAndRemoveFromNSUserDefaults ( NSMutableDictionary *newRootDictionary, NSString* anObjectKeyName )






// 09-27-07 got project back from edwin


#define kBaseJobVersionNumber 	0x0000831	//0x0000821		// 9-27-07



// ====================================================================================

// FIX Teps-Processor Preference??????

		case cDuplicatePreferenceFile:
				extern void SaveToNewPreferencesFile ( void );	// 09-26-07
				SaveToNewPreferencesFile();	// 09-26-07
				break;
				myDuplicateResFile();
				break;
		case cLoadPreferenceFile:
				// remove 7/20/00	myLoadNewPrefFile(fCreator);
				// remove 7/20/00	ReadPreferences();
				// change 7/20/00
				// 09-26-07	if ( myLoadNewPrefFile(fCreator) )
				extern bool LoadFromNewPreferencesFile ( void );	// 09-26-07
				if ( LoadFromNewPreferencesFile() );
				{
					if (MacAppAlert(1025, NULL)==1)
					{
						ExitToShell();
						TQuitCommand	*aCommand = new TQuitCommand(cQuit);
						aCommand->Process();
					}
					//ReadPreferences();
				}
				break;


// 09-26-07


#define kPrefKeyForTepsEntirePrefsV14				@"Teps-X v14 Prefs Dictionary"			// 09-26-07
#define kPrefKeyForTepsEntirePrefsProcessorV14		@"Teps-Procssor v14 Prefs Dictionary"	// 09-26-07



// N_UPCKViewBuilder.cp
const short cMaxPackage					= 5;	// 09-26-07
// 09-26-07 need to put these in the commandNumber.h file
ResNumber	cSantasticWindow			= 2200;	// 09-26-07
ResNumber	cSantasticDropView			= 2201;	// 09-25-07 ?????????? is it used ??????
ResNumber	cSantasticLandscapeView		= 2202;	// 09-25-07
ResNumber	cSantasticPortraitView		= 2203;	// 09-25-07
ResNumber	cSantasticPortraitPkgView	= 2204;	// 09-25-07
ResNumber	cSantasticLandscapePkgView	= 2205;	// 09-25-07
ResNumber	cSantasticLargePreview6		= 2206;	// 09-26-07 ???????? is this used??????
ResNumber	cSantasticLargePreview		= 2207;	// 09-26-07



bool myLoadNewPrefFile(IDType	creator)
{
	DisplayNormalMessage ( "myLoadNewPrefFile Should NEVER Be Called Again!!!!" );	// 09-26-07
	return false;	// 09-26-07


void myDuplicateResFile()
{
	DisplayNormalMessage ( "myDuplicateResFile Should NEVER Be Called Anymore!!!!"); // 09-26-07
	return;	//09-26-07
	


// Teps1000Preferences.cp - CHANGED a bunch of stuff to get Teps-X to Save and Load Plist Preferences



// call new function for saving prefs
		case cSavePrefFile:	// 09-26-07 new method tooo soon??
				extern void SaveToNewPreferencesFile ( void );
				SaveToNewPreferencesFile();	// 09-26-07 ????
				break;
				myDuplicateResFile();
				break;
		case cLoadNewPrefFile:
				{
					short	input = getMyInputPrefs()->input;
					// 09-26-07	if (myLoadNewPrefFile(fCreator))
					extern bool LoadFromNewPreferencesFile ( void );	// 09-26-07
					if (LoadFromNewPreferencesFile())
					{
						ReadPreferences();				// 3-29-05
						if (input != getMyInputPrefs()->input)
						{
							destroyFileHandler(input);
							initializeInputHandler();
						}
						if (MacAppAlert(1025, NULL)==1)
						{
							this->PostCommand(new TQuitCommand(cQuit));
						}
					}
				}



// UTeps2000Application.cp
//
//	bool doForTepsCamera = false;	// 09-26-07 this is really if we are in the new Teps-Camera Mode
void  TTeps2000Application::CheckForSecurityKey()
{
	bool doForTepsCamera = false;	// 09-26-07 this is really if we are in the new Teps-Camera Mode
	if ( doForTepsCamera )	// 09-26-07
	{
}
void TTeps2000Application::Close()
{
	bool doForTepsCamera = false;	// 09-26-07 this is really if we are in the new Teps-Camera Mode
	if ( doForTepsCamera )	// 09-26-07
	{
		// DisplayNormalMessage ("TTeps2000Application::Close - Need to Quit Camera App Before Quitting" );	// 09-05-07
		extern OSErr mySendAppleEventWithNoReply ( OSType targetAppOSType, AEEventClass eventClass, AEEventID eventID );
		mySendAppleEventWithNoReply ( 'TPIc', 'aevt', 'quit' );
	}



????? I thought MacAppAlert - usually Centers the dialog in the window - at least horizontally???


changed resource #2200 - make it look better
	counterText is larger and centered and stickToBottom


// N_UPCKViewBuilder.cp
const short cMaxPackage					= 5;	// 09-26-07

// 09-26-07 need to put these in the commandNumber.h file
ResNumber	cSantasticWindow			= 2200;	// 09-26-07
ResNumber	cSantasticDropView			= 2201;	// 09-25-07 ?????????? is it used ??????
ResNumber	cSantasticLandscapeView		= 2202;	// 09-25-07
ResNumber	cSantasticPortraitView		= 2203;	// 09-25-07
ResNumber	cSantasticPortraitPkgView	= 2204;	// 09-25-07
ResNumber	cSantasticLandscapePkgView	= 2205;	// 09-25-07
ResNumber	cSantasticLargePreview6		= 2206;	// 09-26-07 ???????? is this used??????
ResNumber	cSantasticLargePreview		= 2207;	// 09-26-07


// 	check for NILs
	if ( aStatText )	// 09-26-07 check for NIL

// void T_NUPCKViewWindow::ClearAllOrders()
when ClearAllOrders ALSO need to clear counter Text to ZERO too





// ====================================================================================

// From Edwin

// UBGPrintView.cp for the processor and the ck modes


// TChromaKeyWindow.cp and .h

// Different Chroma Key issues, still some to be resolved:
Teps-X - UImageObject.cp



Fill in vertical and horizontal shift values, fill in zoom values for Santastic window plus add source for reset shift/zoom and reset coloradjust:
N_Up...



Fix for vertical shift issue: UimageObject.cp in TEPS-PROCESSOR
void swapImageDesc(CImageDesc	*desc, bool isMotorolaVersion)	// 9-21-07 iuse swap funtion from Teps-X, offset .v was not swapped
Also change for CK issue



// Fix for File overlays without alpha channel: Shared for Teps-X and Teps-Procerssor
GWorldPtr getFileOverlayGWorldFromFileSpec(FSSpec	theFSSpec)	// 12-23-04
{
	CRect_AC	bounds;
	CPoint_AC	size;
	ComponentResult	theErr = noErr;
	
	//	9/21/07 remove this line to use clear offscreen
	//	return getGWorldFromFileSpecWithoutColorsyncProfile(theFSSpec, 1, size);


// Fix for printing packages from print tool bar:
	if (source->GetIdentifier()=='tab1')		// 9-21-07
	{	
		fPreviewImageWindow->SetPrintPackageMode(((TTabbedView*)source)->GetValue()==2);
					
		if (FindWindowWithIdentifier('tivw'))
		{
			((TTemplateIconWindow*)FindWindowWithIdentifier('tivw'))->DoEvent(eventNumber, source, event);
		}
	}








// 09-99-07-
// 09-19-07
// 09-20-07

steveResizeImage.c
remove all the commented out code

look for 09-99-07
no need for chasingArrows.rsrc

#define kBackgroundPrintingIdleTime		15	// 09-9-07	// 120		// 5-15-01

change executable name to "TEPS-Processor"


trying to speedup the processor

processor

TChasingArrows










// edwin 9-14-07
2. clear order - give warning first

3. print all - give message first
and if NO prints or no packages - give some error or warning





// steve 9-14-07 <==== SEARCH for this


void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)
{	
	TWindow::DoPostCreate(aDocument);

	// 09-14-07 stop it from moving
	this->SetMoveBounds(CRect_AC(0,0,1,1));	// 09-14-07


// 09-14-07
void TPreferencesWindow::Activate(bool	entering)
{
	TWindow::Activate(entering);
	if (entering)
	{
		this->Focus();
		this->Erase();
	}

}

// fix external video monitor
				fExternalVideoWindowServer	= new TExternalVideoWindowServer;
				if ( fExternalVideoWindowServer )
				{
					fExternalVideoWindowServer->DoInit();
				}

// show menu bar 
					TMenuBarManager::fgMenuBarManager->ShowMenuBar(); //09-14-07



==================================================================================================================




// 9-13-07
fix "Bad error" by doing Start Sitting twice

Create enable santastic version pref in Barcode preferences that opens ck preview window when barcode is entered

create
Teps1000Preferences.cp: void myWriteNikonCameraPref()	// 9-13-07
Teps1000Preferences.cp: void myReadNikonCameraPref()	// 9-13-07
to set default
also call set default

make the minimum size of the n-up ck view the width of the scroller

allow print toolbar and school photography window to move around freely

fix funny text issue in school photography view




#include "UCompositeWindow.h"




// Fix Resources to draw properly

// fix code force redraw
void TPreferencesWindow::Activate(bool entering)
void TBackgroundPrintWindow::Activate(bool entering)
{
	if ( entering )
	{
		this->Erase();
	}



also - allow window to move freely
	// 09-12-07 allow window to move freely
	CRect_AC noBounds(-5000, 0, 5000, 5000);
	this->SetMoveBounds(noBounds);	
	




Testing TCompositeWindow
#	define qBackwardCompatible 0
DOES NOT WORK





	// 09-12-07 WHY TWICE??????????
	if ( fMainWindow)	fMainWindow->SetActiveState(false, kDontRedraw);	// 6-15-04
	if ( fMainWindow)	fMainWindow->SetActiveState(true, kRedraw);




May cause problem in one of our windows???
#	define qBackwardCompatible 1	// 09-12-07 per steve g
AND used txST#1000 - charcoal Red - Does NOT work

ALSO - VERY DITHERED Looking Text????
TComposite window does NOT work???




Seems okay with this
#	define qBackwardCompatible 0



// 09-12-07
// NEED TO LINK in NEW MACAPP from 9-12-07!!!!!!!!!!
// ALSO -> 
	1. CoreSwitches_AC.h
		qBackwardCompatible = 1
	2. new TextBox_AC.cpp from SG
	


// 09-12-07

// just found the newer universal based nikon modules
// so we do NOT really need to include them in our applicationPackage since the .dylib must be in
	their predetermined folder => "/Library/Application Support/Nikon/Camera Control Modules/"

// TRY to fix the Dismiss problem while inside the Idle()
//	needed to force a dummy event so that the new carbonEventLoop will catch it
//	ALSO - order does count??? - invalidate before turning off the idle frequency
//					this->DoInvalidateRegion(GetVisRegion());	// 09-12-07 force dummy event
//					this->SetIdleFreq(kMaxIdleTime);			// 09-12-07 force dummy event





// 09-11-07

1. add D80 module
libNkPTPDriver.dylib
New D40 module for D40X
2. remove the copy of xtra Teps v13 Prefs into the /Contents/MacOS folder
3. remove MoreFilesXReadMe.txt from copyBundleResource
4. hide and show menuBar when entering and exiting santastic mode
5. fix splashScreen and aboutBox

6. Search for D80 Camera too

Function.c
NikonBaseCameraHandler.cp
NikonBaseCameraHandler.h
NikonCameraHandler.cp



#include <mach-o/arch.h>	// 09-11-07
OSErr TNikonCameraHandler::FindCamera()
{
	// 09-11-07 MUST BE PPC OR Rosetta
	bool doCheckForPPC = true;	// 09-11-07
	if ( doCheckForPPC )
	{
		const NXArchInfo *current_arch;
		current_arch= NXGetLocalArchInfo();	// this tells us which type of bundle is running
		if (!( current_arch->cputype == CPU_TYPE_POWERPC || current_arch->cputype == CPU_TYPE_POWERPC64 ) )
		{
			printf( "\r\r========== Nikon Modules supported on PPC CPUs or Running Under Rosetta ============\r\r" ); 
			DisplayNormalMessage ( "TNikonBaseCameraHandler2::FindCamera => Nikon Modules Supported ON PPC or Rosetta!!" );
			return -1;
		}
	}


	cNikonCamera_D80		// 09-11-07
#define	cNikonCameraString_D80		"Nikon D80\0"	// 09-11-07





try to fix background color of santastic window





09-05-07
1. on Close() the application - quit the 'TPIc' application
2. steve may have messed up the rsrc
3. added aedt 1200 to handle events from camera app



09-04-07 steve

1. added stuff for the AccessIO hardware
2. made the appleEvent work with the Canon app
3. but could NOT get the nikon app to work???




// 07-03-07
write print count file separate from v13 version

// 04-18-07

discovered problem with processor running under rosetta

1. rename "kNoKeyVersion" to "kGiveOutAsAlphaVersion"
2. #define kNoKeyVersion true	// 04-13-07



// 04-17-07
make sure "TepsVersionNumber" is assigned to ALL BUILD CONFIGURATIONS (from target version pref)!!!!!!!!!!
TepsVersionNumber = 0.1.1


// 04-17-07
adlib 1189 - turn on
actually cannot do in adlib - since code is always reading the input prefs for "enable customer order" mode checkbox
to turn on this checkbox



// fix PrintToFileSet.cp
// try to add the superprokey





// 02-23-07
had to comment out edwins test for reading meta data - somehow it crashes on steve's computer???

for both processor and teps-x
1. added the "universal-release" build - REDUCES the final output file drastically!!!!
2. removed the old debug TARGET - replaced with the above "debug" build (renamed original universal build as "universal - debug")
3. fix issue with icns not showing up for our fg and bg apps
	- name of the icns file is CASE-Sensitive
	- do NOT put .icns in the plist file - just the first name
	- CANNOT have resource fork in the icns file??

changed some of the build flags to see if it will make any difference..




// 09-20-05
PRINT CENTER STILL THE OLDER VERSION HEADER!!!!!


// 09-20-05
// check for new security key

// add to c++ preprocessor pref
// 09-20-05
//  settings required for security key 
#define _MACX_  1
#define _LINUX_ 1
#define _kLookForTepsKey_ true

// printqueue.cp
		bool foundDCKey = FindDiscoveryCoveKey();

// added myTimer.h to project
// added testSuperProKey.cp
// added testSuperProKey.h
	if ( FindDiscoveryCoveKey ()==false )




// 9-15-05
// make sure volume gets unmounted
bool Print(tPrintInfo	fPrintRecs[kMaxNumberOfPrintJobs], short	numberOfJobs)
	// 09-14-05
	// if (getMyFreezeFrameFolderPrefs()->printSpooler2.use && ( getMyFreezeFrameFolderPrefs()->printSpooler2.volumeName, &theVRefNum ))	// 6-14-05
	// forgot to call the function named findVolumeNumberFromVolumeName2
	if (getMyFreezeFrameFolderPrefs()->printSpooler2.use && findVolumeNumberFromVolumeName2( getMyFreezeFrameFolderPrefs()->printSpooler2.volumeName, &theVRefNum ))	// 6-14-05



//9-2-05 
show cubby hole number in cd burn list
create new class TBurnCDFolde
CStr255_AC TBurnCDFolderGridView::GetText(const GridCell& aCell) const

allow preview from order list
void TOrderList::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC	/*thePoint*/) 


// 8-9-05 
only change folder name when createSubFolder==true
short 	TBGPrintView::DoNewPrintToFile(GWorldPtr	anOffscreen)		// 4-14-04


// 08-08-05
validate customer and burn cd folders before going into pref window
void TCDBurnPrefs::DoPostCreate(TDocument	*aDocument)

validate customer and burn cd folders before going into window
void TTeps2000Application::SelectCDBurnFolder()	// 6-15-05

validate spooler session and master folder before going into burn cd window
void TFreezeFramePrefs1::DoPostCreate(TDocument	*aDocument)


give a message when selecting less then the minimum images
void TCDSelectionWindow::SetPackage(short	packNum)
bool TCDSelectionWindow::GetImagesForPackage()
void TBuyPackageView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

set maximum for images CD to 100

make image select window for CD 800 pixels wide instead of 900 (make columns smaller)
issue with not seeing right scroll bar

make reprint start button go to customer list window
void TFFMainWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

create sub class of TIconCheckBox for right click high res preview
void TMyIconCheckBox::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC	thePoint)	// 8-8-05



// 08-05-05
try to fix timeout problem when copying lots fo files during photographer copy mode




// 08-04-05
try to get security key library in there to work too


// 08-03-05
// release as v1.0.2 to jen

// use new FF logo

// change job version number to be specific to discovery cove only and NO other teps version
#define		kJobVersionTEST		8899				// 08-03-05 USE for TESTING ONLY esp with no security key
#define		kCurJobVersion		kJobVersionTEST			// 08-03-05 USE for TESTING ONLY esp with no security key



// 8-1-05
resolve speed issue from reprint mode
short TTEPSFileHandler::PutFilesInListForFreezeFrame(short vRefNum, long dirID, bool checkIfEqual)	// 8-1-05
void TTeps2000Application::SelectCustomerFolder()

show progress when saving files for customer
void TTEPSFileHandler::SaveMarkedToCustomerFolder2()

// 7-25-05
launch script if date is incorrect
bool TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)

find scripts inside package
OSErr myJumpToBackupAppWithFile(FSSpec	fileToOpen)		// 10-30-00
void TBurnCDFolderWindow::DoEvent(EventNumber eventNumber, TEventHandler* source, TEvent* event)
void  TTeps2000Application::InitializeApplication()


7-22-05
remove total is from check out window

always enter photgrapher id manually
short getPhotographerID(tPhotographerIDPtr	ptr, bool rotate)

7-20-05
change rotation to 180 degrees for cubby hole number
void ShowCubbyHoleWindow()
TTextView::TTextView()		// 7-19-05
void TTextView::Draw(const CViewRect &area)
void TTextView::SetRotation(short	rotation)		// 7-19-05

fix up and down arrows for sony printers
void TSonyPrinterPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

DC-X changes
upgrade to OS-X and make CD-Burn mechanism

// 4-1-05
finish 2nd junk mask
void TDropPreviewImage::SaveCKPropertiesToFile()	// 6-22-04
void TDropPreviewImage::LoadCKPropertiesFromFile()	// 10-19-04

void TImageObject::SetImageFSSpec(FSSpec	aFSSpec)
void TImageObject::WriteTo(TStream* aStream) const
short TImageObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi, CStr255_AC	&fileName)

Teps-Processor
void TImageObject::ReadFrom(TStream* aStream)


// 3-30-05
create 2nd junk mask
void TDropPreviewImage::SaveCKPropertiesToFile()	// 6-22-04
void TDropPreviewImage::SetJunkMaskData(tJunkMaskStructure	junkMask[4])		// 3-30-05
void TDropPreviewImage::GetJunkMaskData(tJunkMaskStructure	junkMask[4])		// 3-30-05
void	TCompositeMaskPicture::GetSelectionData(tJunkMaskStructure	junkMask[4])	// 3-30-05
void copySelectionToAlphaChannelOffscreen(GWorldPtr	imageOffscreen, tJunkMaskStructure	junkMask[4])	// 3-30-05


// 3-28-05 and 3-29-05
bool myLoadNewPrefFileWithNewCopyAllResource(IDType	creator)	// 3-28-05
void myDuplicateResFile()
void convertGeneralPrefs()		// 3-29-05
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)

use new copy all data and resource funtion for duplicating and loading prefs
void myDuplicateResFile()
void myDuplicateResFile(CStr31_AC	fileName)
TFile* GetPreferenceFile()
bool myLoadNewPrefFile(IDType	creator)

// 3-25-05
new preference stuff implement load from old if teps encounters newer pref file
bool	checkForValidVersionNumber(tPrefStruct	*aPrefStruct, bool	fromPref)	 	// 12-10-01
OSErr TPreferenceDocument::CopyFromV11ToV12(TFile	*newFile)		// 3-25-05

check for key when trying to save with mask
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)


// 3-25-05
start new pref setup


// 3-22-05
try REBEL camera and more testing for ISO and exposure compensation
disable exposure compensations for now


// 3-21-05
fix bug with trying to write print job to locked directory
void TDropView::FillInImageFSSpec4BGPrinting(tNewCanvasSizes	*aCanvas, tPrintSettingsPtr	printSettings, bool now)
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now)


// 3-14-05 - 3-18-05
spilt up CAMERA and FILE stuff so that all input choices are4 able to read all kinds of files through TAllFilesHandler

// 3-11-05
more Canon Camera Stuff
void TCanonCameraHandler::GetRelData(cdUInt32 NumData)
unlock UI sfor continuous grab
// 3-8-05
new print count stuff to get totals for a particular day
void TPrintCountWindow::SetNewDate(unsigned long	newDate)	// 3-8-05
short getPrintCountForSpecificDay(tPrintQuantityInfoPtr	ptr, CStr255_AC	dateStr, bool	spooler)	// 3-8-05
TFile	*getPrintCountFileForSpecificDay(CStr255_AC	dateString, bool	forceSpooler)	// 3-8-05
void TPrintCountWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 3-7-05
// 3-8-05
CANON raw file image settings, window and save to file and processor
OSErr TTEPSFileHandler::SaveAndReturnSavedFSSpec(short vRefNum, long	parID, long	fileNumber, FSSpec *theFSSpec)

// 3-4-05
set defaults for Kodak6800, Mitsubishi9500 and Shinko printers


//2-21-05 - 2-28-05
use package stuff for teps-x and Teps-Processor
implement Canon Direct Connect with UI

//2-11-05 - 2-18-05
Start Canon reading RAW files
more Shinko printing stuff
UPD-R150 changes
saving print to file set with subfolder

//2-9-05
read kodak images from CD-Rom
GWorldPtr TKodakProBackCameraHandler::GetImage(FSSpec	*fileSpec, KPDCUInt16	resID, bool	&wasRotated)	// 11-14-01
GWorldPtr TKodakPro4SLRCameraHandler::GetImage(FSSpec	*fileSpec, KPDCUInt16	resID, bool	&wasRotated)	// 5-19-03
GWorldPtr TBaseKodakProCameraHandler::GetImage(FSSpec	*fileSpec, KPDCUInt16	resID, bool	&wasRotated)


// 2-3-05
// 2-4-05
add printers
CHC-S1245 (8x10 printer)
CHC-S9045
Mitsubishi 9000/9500 printer


// 1-25-05 - 1-31-05
CK Stuff
implement junk mask and defocus using new library

// 1-19-05 
Chromakey Stuff new lib
void TPrimatteMgr2::SpillPlus()	// 1-19-05
void TPrimatteMgr2::SpillMinus()	// 1-19-05
void TPrimatteMgr2::MattePlus()	// 1-19-05
void TPrimatteMgr2::MatteMinus()	// 1-19-05
void TPrimatteMgr2::DetailPlus()	// 1-19-05
void TPrimatteMgr2::DetailMinus()	// 1-19-05

// 1-18-05 
Chromakey Stuff new lib

// 1-17-05 
set title of kodak 8500 window
void goToKodak8500MediaPrefSettingsWindow(tKodakMediaTypePrefPtr	ptr)

save for PC without resource
Boolean setMyPrintToFilePrefToFactoryDefaults ( tPrintToFilePrefsPtr ptr )
TPrintToFilePrefs::~TPrintToFilePrefs()
void TPrintToFilePrefs::SetSettings(tPrintToFilePrefsPtr	ptr)
Boolean setMyPrintToFileSetPrefsToFactoryDefaults ( tSpecialPrintToFilePrefPtr ptr, short which)
void TPrintToFileSetPrefs::GetSettings(short which)
void TPrintToFileSetPrefs::SetSettings(tSpecialPrintToFilePrefPtr	ptr)
bool NewSaveOffscreenToFile(short	outputType, GWorldPtr	anOffscreen, CFSSpec_AC		fileSpec, bool overwriteExisting, short dpi, short	JPEGQuality,
								short	saveOnPC)		// 1-17-05
short 	TBGPrintView::DoNewPrintToFile(GWorldPtr	anOffscreen)		// 4-14-04
short 	TBGPrintView::Print2File(GWorldPtr	anOffscreen)


// 1-14-05 
change popup for updr150
const ResNumber 	cUPDR150MediaTypeWindow		= 1805;		// 1-14-05
void goToUPDR150PrefSettingsWindow(tMediaTypePrefPtr	ptr)	// 1-14-05

disable shift/zoom without select
void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)

fix step 4 bug
OSErr TPrimatteMgr::InitializeNew()

// 1-13-05 
fix step 4 bug
void TPrimatteMgr2::Reshape_for_spill_slider(float v) /* Ranges from -30,000 to +30,000 */	// 9-14-01
void TPrimatteMgr2::Reshape_for_trans_slider(float v) /* Ranges from -30,000 to +30,000 */	// 9-14-01
void TPrimatteMgr2::Reshape_for_detail_slider(float v) /* Ranges from -30,000 to +30,000 */	// 9-14-01

force kiosk and order windows to fron
short DoPrintPreview2 ( GWorldPtr anOffscreen, short resID, bool one2One, CStr255_AC	fileName)

// 12-22-04 
implement defocus for Teps- and Processor
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TPrimatteMgr2::SetScalingFactor(short factor)	// 12-22-04
void TPrimatteMgr2::DisplayImage ()

write new defocus values to job file
void TImageObject::WriteTo(TStream* aStream) const
and on the processor side read them from pref file
void TImageObject::ReadFrom(TStream* aStream)


save new defocus values to pref file
void SaveKeyParameterToFile ( TFile *aFile, fixcoef *aPARA)
read new defocus values from pref file
bool	getDefaultChromaKeySettings(fixcoef	*para)


add Canon input
void validateInputPrefs(tInputPrefPtr 	ptr)	// 2-5-01
short translateCameraSourceToInput(tSource	*source)
void TInputPreferences::PrepareInputPopup(IDType	theType)
void TMainWindow::UpdateTitle()
TCameraHandler	*getCurrentCameraHandler()
void  TTeps2000Application::initializeInputHandler()
void  TTeps2000Application::destroyFileHandler(short input)	// 11-07-01 changed important!!!



// 12-21-04 
fix bug in Teps-Processor that caused the fsPCreate Error message when saving old job files
OSErr CreateUniqueFSSpecNew ( FSSpecPtr myDestinFSSpecPtr, OSType creator, OSType fileType, ScriptCode scriptTag, bool overwriteExisting )

add saving to PNG and PSD to Teps-Processor popup
bool NewSaveOffscreenToFile(short	outputType, GWorldPtr	anOffscreen, CFSSpec_AC		fileSpec, bool overwriteExisting, short dpi, short	JPEGQuality)
CStr255_AC	getExtensionFromFileType ( short formatType )


// 12-20-04 
Create new class TCompositeMaskPicture
try new external mask method
bool TPrimatteMgr2::RedoExternalMask(CRect_AC	newRect) 	// 12-20-04
bool doChromaKeying(GWorldPtr	fgOffscreen, GWorldPtr	bgOffscreen, GWorldPtr	outOffscreen, fixcoef	*para)


// 12-17-04 
use new wrapper class for ChromaKey
void TDropPreviewImage::DoChromaKeying(GWorldPtr	fgOffscreen, GWorldPtr	bgOffscreen, GWorldPtr	outOffscreen, bool	reshape)
void TLoadDefaultCommand::DoIt()
void TPrimatteMgr2::SetParameters(fixcoef	aPARA)		// 12-17-04
fixcoef*	TPrimatteMgr2::GetParameters()		// 12-17-04

right click for popup menu in operationswindow(preview image)
void TPreviewImage::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC	thePoint)

make attribute object visible

fix crash in Print To File Set specs window

// 12-15-04
use new wrapper class for ChromaKey
create new class TPrimatteMgr2
	TPrimatteMgr2*	GetChromaKeyMgr()  { return fChromaKeyMgr; }		// 12-15-04
TReshapeTracker::TReshapeTracker(CommandNumber itsCommandNumber, TPrimatteMgr2 *aMgr, TView *itsView, CViewPoint	point, TView *chromaView, float factor) :
	TTracker(itsCommandNumber, itsView,	false, false, NULL, itsView, nil, point)	// 12-15-04 USENEWMETHOD
TReshapeRectCommand::TReshapeRectCommand(CommandNumber itsCommandNumber, TPrimatteMgr2	*aMgr, TView	*itsView, CRect_AC	rect, TView	*chromaView) :
				TCommand( itsCommandNumber, itsView, true, false, nil)			// 12-15-04 USENEWMETHOD

// 12-13-04
set as default button in color adjust mode + fix bug when rotating using color adjusted image
TOneUpPreviewImage::~TOneUpPreviewImage()
void TOneUpPreviewImage::SetSettingsAsDefault()
void TOneUpPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TOneUpPreviewImage::ReloadImage()	// 3-21-03
void TOneUpPreviewImage::Rotate(CommandNumber	aCmdNumber)		// 3-2-04
void TOneUpPreviewImage::StartEdit()	// 7-21-04


// 12-10-04
allow shift zoom in CK mode if only 1 image even when not selected
void TDropPreviewImage::DoShiftZoom(CStr2_AC theCharacter)	// 12-10-04
void TDropPreviewImage::DoKeyEvent(TToolboxEvent* event)
void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)

show button representation of volumes if more than one flash card volume
pascal	short countNumberOfVolumes (eOSVolumeType	checkVolumeType, Str255	volumeNames[4], short	vRefNums[4])	// 12-10-04

if doing pc-card copy and no images were copied display a message
void TTeps2000Application::StartDirectConnectWithoutCard()

do not ask to delete images from pc-card until in preview image window
void TTeps2000Application::StartDirectConnectWithoutCard()

// 12-8-04
USE NEW FLASH CARD METHOD FOR FINDING PC-CARD if input is file and new method checkbox is on
OSErr TDummyCameraHandler::FindCamera()
short myNewCheckForPCCard ()
bool TFindPCCardWindow::DoIdle(IdlePhase	thePhase)
pascal	short countNumberOfVolumes (eOSVolumeType	checkVolumeType)	// 12-8-04
void TPreviewImageWindow::CloseToolWindows()	// 10-19-04

// 12-7-04
prepare for sorting database fields; FUNCTIONS ARE NOT BEING CALLED YET
void TImageFileList::SetSortFields(short	field1, short field2)
CompareResult_AC TImageFileList::CompareDB(const void*  item1,
								  const  void*  item2) const
bool findStringAndReturnRecordNew(tRecordStruct	*data, CStr255_AC	fileName)		// 12-07-04

// 12-6-04
make jump to image editor work with colorsync profiles
bool TKodakCameraHandler::ConvertFile(FSSpec	*theFSSpec, bool	resetRotation)			// 7-22-03


// 12-3-04
apply embedded profile QT changes
GWorldPtr getGWorldFromFileSpecWithoutColorsyncProfile(FSSpec	theFSSpec, short	scalingFactor, CPoint_AC	&fileSize)	// 12-3-04
GWorldPtr getGWorldFromFileSpec(FSSpec	theFSSpec)	// 7-29-02
GWorldPtr getGWorldFromFileSpec(FSSpec	theFSSpec, short	scaleFactor, CPoint_AC &fileSize)	// 9/24/02


// 12-1-04
implement saving CK template without output canvas (one to one)
void TPrintJobTaskManager::DoNextTask()
void TAttributeObject::Set(CAttributeDesc		*AttributeDesc)
void TAttributeObject::Get(CAttributeDesc		*AttributeDesc)
void TAttributeObject::ReadFrom(TStream* aStream)
void TAttributeObject::WriteTo(TStream* aStream) const
void TAttributeSettingsWindow::Apply()
void TAttributeSettingsWindow::SetAttributeObject(TAttributeObject	*anObject)
short TBGPrintView::ReadObjects(FSSpec	fileSpec)
void TBGPrintView::ProcessSubAsOutput()		// 12-1-04
	short 				SaveCKTemplateAsIs() { return fSaveCKTemplateAsIs; };			// 12-1-04							// 7-23-01

// 11-30-04
finish implementation of attribute object
void TDropView::DrawViews(CRect_AC	theRect, FSSpec	templateFSSpec, bool	isNewType)	// 9-7-01
void InitMacAppClasses()
short TBGPrintView::ReadObjects(FSSpec	fileSpec)
bool TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
bool TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
TLayoutObject *TPrintView::AttributeObjectExists()	// 11-30-04
PicHandle TLayoutObjectListView::GetPictureHandle(GridCell aCell)


// 11-29-04
MACYS
fix print quantity
TGeneralPrintHandler::TGeneralPrintHandler()
disable apply to all and marked for MACYS version
IDType TKodakTIFFFileHandler::DoColorBalance()

TEPS
only allow 1 attribute object
void HandleDropLayoutObjects(TView* theView,const CViewPoint& theMouse,TDataPackage* theDataPackage)	
TLayoutObject *TLayoutView::AttributeObjectExists()



// 11-24-04
print to file set a through b save alpha channel option
bool setMyPrintToFileItemPrefToFactoryDefaults ( tPrint2FileItemPtr	ptr, short	which)
void goToPrint2FileItemPrefSettingsWindow(tPrint2FileItemPtr	ptr)
Boolean TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)
Boolean TImageObject::Draw4PrintingNew(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)	// 12-11-02

// 11-23-04
create new funtion for copying alpha channel
bool myCopyMaskGworldToAlphaChannel ( GWorldPtr sGWorldPtr, GWorldPtr mGWorldPtr , CRect_AC	srcRect, CRect_AC	dstRect)	// 11-23-04
bool doChromaKeying(GWorldPtr	fgOffscreen, GWorldPtr	bgOffscreen, GWorldPtr	outOffscreen, fixcoef	*para, bool	saveAlphaChannel)	// 11-23-04

fix to read correctly newer objects
void TLayoutView::DoNewReadObjects(TStream	*aStream, short count)		// 10-31-03
void TPrintView::DoNewReadObjects(TStream	*aStream, short count)		// 10-31-03

// 11-16-04 again



// version 11a125

// 11-16-04 again

- fix problem with sepiatone window crashing teps
- change resource 1075 'clad' to 'coad'


// 11-16-04
delay for dummy camera handler
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01
bool setMyInputPrefToFactoryDefaults ( tInputPrefPtr ptr )
void TInputPreferences::GoToHotFolderSettingsWindow(tInputPrefPtr	ptr)	// 9-4-02

save chroma key image as any type
void TDropPreviewImage::SaveCKImageWithMask()	// 9-1-04


// 11-15-04
add string to Node View Object to identify marked image number
CStr255_AC TLayoutObjectListView::GetText(const GridCell& aCell) const

redraw oject list window on clicking apply in node view object window
void TLayoutObjectListView::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
void TNodeViewSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

default to mouse tool in node and template window
void TLayoutView::DoPostCreate(TDocument* itsDocument)

add option to auto node and node window to create from to to bottom
void TTemplateView::CreateNodeLayoutPage(TNodeViewObject	*firstObject)	// 10-21-02
void TTemplateView::CreateN_UP_Page(TNodeViewObject	*firstObject, short	rows, short cols, short markedImageNumber, bool vertical)	// 11-15-04
void TTemplateView::CreateAutoNode()	// 10-21-02

change view reource 1115 and 1132

// 11-10-04

// fix package window with missing texts and labels
resource 1381

// fix database object in layout view having the wrong pop item after looking at pref
void TDatabasePreferences::InitializeLabelPopup()	// 11-20-03
added menu 1039

// fix package price error
// packageWindow.cp
void TPackageEditWindow::DoPostCreate(TDocument	*aDocument)
	((TFloatText*)FindSubView('pric'))->SetMax(999.99, kRedraw);	// 11-10-04


// 11-10-04
// 11-09-04

// only reprint station allows either macys key or v11 key
// all other mode must have macys key
void TReprintModeWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TSalesStationWindow::SendPackageToProcessor(short	packageItem, CStr255_AC fileName, short	quantity)	// 9-28-04

// supporting functions
short tpiRainbowKey::FindATriprismKey ( void )
short tpiRainbowKey::FindATriprismKeyEither ( bool checkOther )
short tpiRainbowKey::DetermineTypeOfTriprismKeyFound ( eve3InfoPtr	aKeyPtr )
short tpiRainbowKey::DetermineTypeOfKeyFound ( eve3InfoPtr	aKeyPtr, eTepsKeyVersion whichKeyVersion )
bool CheckForMacysKey ( CStr255_AC whichStationString )
bool CheckForMacysKeyRePrintMode ( CStr255_AC whichStationString )
tpiRainbowKey* RescanTpiRainbowKeyHandlerRePrintMode ( void )
short tpiRainbowKey::FindATriprismKeyEither ( bool checkOther )
short tpiRainbowKey::DetermineTypeOfTriprismKeyFound2 ( eve3InfoPtr	aKeyPtr )


// 11-09-04

- fix problem with sepiatone window crashing teps
- change resource 1075 'clad' to 'coad'



// 11-05-04
release v11.0b124 teps
release v1.0.1b3 macys

// 11-05-04
// fix ck mode with #4 not working


// 11-05-04 
// added fix for macys where there's a background screen to prevent users clicking on finder by mistake


// 11-04-04
// start to add stuff for nikon d2h camera
BOOL Search_D2H_Module( void* Path )
short TNikonBaseCameraHandler::GetFileType()		// 9-16-04
TNikonD2HCameraHandler::TNikonD2HCameraHandler ()
bool TNikonD2HCameraHandler::SearchModule(FSSpec *ModulePath)
OSErr TNikonD2HCameraHandler::ChangeFileType(short which)

// fix status message
short TNikonRawFileHandler::GetIconAndStatusText(CStr255_AC	&statusText)

// add 2 more file types for d2h
	cNikonFile_NEF_JPEG_normal,	// added 11-04-04
	cNikonFile_NEF_JPEG_fine	// added 11-04-04

// renamed cNikonFile_NEF_JPEG with cNikonFile_NEF_JPEG_basic




// 11-03-04
release a v1.0.1b2 for macys


// 11-3-04
no key check for Macys version when sending job
bool TGeneralPrintHandler::ValidateSecurityKey ( short printQuantity )

add utility to delete and move ck templates
TChromakeyFolderContentsView3
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)
void TChromakeyFolderWindow::DoPostCreate(TDocument	*aDocument)
void TChromakeyFolderWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TChromakeyFolderWindow::MoveCKTemplate()	// 11-03-04
CStr255_AC TChromakeyFolderContentsView2::GetFileNameOfSelectedCell() 	// 11-03-04 changed
void TChromakeyFolderContentsView3::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC	thePoint) 			// 11-03-04
void TChromakeyFolderContentsView3::SetCategory(CStr255_AC		category)	 			// 11-03-04
void EditExistingLayout(IDType	layoutType)


// 11-2-04
remove key for sales station window (what about reprint station window)
void TSalesModeWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

replace 'are you done with this photo' ALRT with a modal dialog
void TSalesStationWindow::SavePackageToJobFile(short item)

add seperate pref file for MACYS spooler version
			CStr255_AC	v11PrefFileName		= "TEPS-PROCESSOR MACYS v11 Prefs";	


fix macys issues
void TCameraStationWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TCameraStationWindow::DoSetupMenus()
create new class TExitToMainWindow
void TSalesStationWindow::DoKeyEvent(TToolboxEvent* event)
void TSavePackageWindow::DoMenuCommand(CommandNumber aCommandNumber)	// 11-2-04 
void TSavePackageWindow::DoSetupMenus()

remove send to spooler message
void TSalesStationWindow::SavePackageToJobFile(short item)

Resource changes


// 11-1-04
create new option for marking last photo as yearbook photo
TSortedByNameFileList*	findCustomerAndPutInList(FSSpec	theFSSpec, CStr255_AC	customer)		// 11-1-04
void CompileLogFileFromFolder(FSSpec	theFSSpec)
void TTEPSFileHandler::CreateInfoFile4FilesInDirectory()	// 12-12-03
void TTEPSFileHandler::MarkLastOneAsSpecial()	// 11-1-04
short GetChoice1()					// 9-18-03


// 10-29-04

// change LABELS in teps-x.rsrc for macys windows
// adjusted the macy windows to look more aesthetic


// make sure temp file is deleted before acquiring next image in camera station mode
bool	TCameraStationWindow::DoIdle(IdlePhase	thePhase)


// remove beeps when nikon module not found

// in teps-Processor macys version, force getMyPrintServerPrefs()->saveJobFileAfterPrinting to true all the time
void TPrintBGBehavior::EnableBackgroundPrinting(Boolean enable)
void validatePrintServerPrefs ( tPrintServerPrefPtr ptr )	// 6-18-01
Boolean setMyPrintServerPrefToFactoryDefaults ( tPrintServerPrefPtr ptr )

// make sure validation occurs all the time - when reading and writing prefs
void TBackgroundPrintingPrefs::ReadPrefs()	// added 8-2-00
void TBackgroundPrintingPrefs::WritePrefs()  const	// added 8-2-00


// make sure print station main menu does show up when default set to open in print station main menu
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)



// 10-29-04
fix issue with grabbing second image before saving old one
void TCameraHandler::DeleteTempFiles()	// 10-29-04
void TDummyCameraHandler::DeleteTempFiles()		// 10-29-04
void TKodakCameraHandler::DeleteTempFiles()	// 10-29-04
void TKodakTIFFFileHandler::DeleteTempFiles()	// 10-29-04
void TNikonRawFileHandler::DeleteTempFiles()	// 10-29-04

fix issue with moving Teps to back and cliking in preview window when floppy write window is up
void TPreviewImageWindow::Activate(bool	entering)	// 10-29-04



// 10-28-04


// ADDED VersionMacy.rsrc for MACYS' version
v1.0.1b1

// remove annoying beep
// but why was beep there to begin with???
bool	TTeps2000Application::DoIdle(IdlePhase	thePhase)


// create a target for Teps-Processor-Macy
#include "TepsBackgroundHeaders_car macys.h" /* was "Prefix file" */


// update Teps-X-Macy's version

// CameraStationWindow.cp
void TCameraModeWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

// FreezeFrameMacysFunctions.c
// FreezeFrameMacysFunctions.h
bool CheckForMacysKey ( CStr255_AC whichStationString )

// xxmyNewSecurityKey.h
added macys key which is really v9 PROMATTE key to work with their existing batch of keys

// ReprintModeWindow.cp
void TReprintModeWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

// SalesStationWindow.cp
void TSalesModeWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)







// 10-28-04
release as v11a123


// 10-27-04
new template for CK mode 
GWorldPtr TDropPreviewImage::CreateCKOffscreen(short	showWhat)	// 10-12-04
Boolean setMyNewOneUpPrefToFactoryDefaults ( tNewOneUpPrefPtr ptr )
void TNewOneUpPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

add camera menu
void TCameraStationWindow::DoMenuCommand(CommandNumber aCommandNumber)
void TCameraStationWindow::DoSetupMenus()
void TCameraStationWindow::DoPostCreate(TDocument	*aDocument)

change floating popup string depending on camera
void TCameraStationWindow::DoPostCreate(TDocument	*aDocument)
CStr255_AC	TCameraHandler::GetCameraSettingsString()	// 10-27-04
CStr255_AC	TKodakCameraHandler::GetCameraSettingsString()	// 10-27-04
CStr255_AC	TNikonRawFileHandler::GetCameraSettingsString()	// 10-27-04


// 10-26-04
fix mark as special image eroor
TFile	*createCustomerInfoFile(FSSpec	tmpFSSpec)
CStr255_AC getYearbookPhotoFileName(FSSpec	fs)		// 10-26-04
OSErr setYearbookPhotoFileName(FSSpec	fs, CStr255_AC	fileName)		// 10-26-04
void TImageFileObject::MarkAsSpecialImage(bool	write)	// 9-8-03

back color for external video monitor
TAnyBackgroundAdorner
Boolean setMyExternalVideoPrefToFactoryDefaults ( tExternalVideoPrefPtr ptr )
void TExternalVideoPrefs::DoPostCreate(TDocument	*aDocument)
TExternalVideoPrefs::~TExternalVideoPrefs()
void TExternalVideoPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TExternalVideoPrefs::Draw(const CViewRect &area)	// 10-26-04

selection mechanism for ck template if missing
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)


// 10-25-04
implement auto mark new images
bool setMyInputPrefToFactoryDefaults ( tInputPrefPtr ptr )
TInputPreferences::~TInputPreferences()
void TInputPreferences::SetSettings(tInputPrefPtr	ptr)
void TCameraPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
void TDropView::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,

new way of setting ck template when template does not exist plus set default
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)
void TPreviewImageWindow::SetNewCKTemplate(FSSpec	tmpFSSpec)		// 4-9-04
void TCKFolderList::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC	thePoint) 

remove "Sucess with FSCreateFileUnicode" message
TFile	*createFileObject(FSSpec	&tmpFSSpec)


// 10-22-04
make floppy write item work with packages
short TGeneralPrintHandler::Print()
OSErr TGeneralPrintHandler::FinishWriteFloppy()		// 10-21-04
bool TGeneralPrintHandler::CheckForPrinterItemInPackage(short 	item)	// 10-22-04



// 10-21-04
write to floppy
#define		kFloppyWriteItem	4	// 10-21-04 use kSonyM55
short myCheckForFlashCard (eOSVolumeType	myVolumeType, Str255	&volumeName, short	*vRefNum)
new class TFindFlashCardWindow
pascal	short returnFlashCardVolume (eOSVolumeType	checkVolumeType, Str255	&volumeName)	// 10-21-04
TGeneralPrintHandler::TGeneralPrintHandler()
short TGeneralPrintHandler::Print()
void TGeneralPrintHandler::Prepare4WriteFloppy()	// 10-21-04
OSErr TGeneralPrintHandler::FinishWriteFloppy()		// 10-21-04
short TGeneralPrintHandler::PrintCanvas()
tNewCanvasSizes		gFloppyWriteCanvasSizes[kNumberOfCanvases];			// added 10-21-04
tNewCanvasSizes	*getThePrinterCanvas ( short printerType )
void TCanvasPrefs::SetSettings()
void doFloppyWriteFactorySettings()	// 10-21-04
void TTeps1000Preferences::ITeps1000Preferences()
void TTeps1000Preferences::ReadPrefs()
void TTeps1000Preferences::WritePrefs() const
short	getResSaveNumberFromPrinterType(short	printerType)		// 2-22-01
void TTeps1000Preferences::ReadCanvasResourcesVersion14()
void DestroyPrintHandler(short	printerType, TTepsPrintHandler *aTepsPrintHandler)
TTepsPrintHandler *CreatePrintHandler(short	printerType, tNewCanvasSizes	*aCanvas)



// 10-20-04
fix remove hierarchical menu

in ck mode,  does NOT show popup anymore when click once and hold down mouse in ck image object
void TDropPreviewImage::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC thePoint) 

prevent clear when CK tool window is open
void TDropPreviewImage::DoKeyEvent(TToolboxEvent* event)

fix crash when clearing image and reloading
void TDropPreviewImage::ResetView()

fix bug with invalidate editable text
void TDropView::MyInvalidate(CViewRect	area)	// 10-20-04
void TBaseTextObject::Draw4DragAndDrop(TView	*view, float factor, CPoint_AC	topLeftPoint, short	nodeRotation, 


// 10-19-04
void TDropPreviewImage::SetSettingsAsDefault()
setting as default save to pref

show edit text when dropping image
	if (dropView) dropView->ResetEditText();	//10-19-04

close toolwindows on printing
void TPreviewImageWindow::CloseToolWindows()	// 10-19-04
void TPreviewImageWindow::Print(short	mode, Boolean doPreview, Boolean saveToFile, Boolean doBackground, Boolean now)
OSErr TPreviewImageWindow::PrintPackage(short item, Boolean	spool, Boolean preview, Boolean now)

fix edit text overwrite
void TOverlayView::Draw(const	CViewRect	&area)


default to last used tab (ie CK, shift, color)
void TNewCKToolWindow::SetDropView(TView	*aView, bool	doComposite)	// 5-19-04

12. When you are in CK Mode and you click on a image the adjust window should activate. ( Similar to Drag n Drop Mode.)
void TDropPreviewImage::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC thePoint) 

2.  When in the ChromaKey Mode and you have a image box floating in the middle of a template and you Zoom all the way out to see you will see a  large black area outside the image box. But if you print preview the image all looks fine.
void TDropPreviewImage::Draw(const CViewRect &area)
void TDropPreviewImage::Prepare4Drawing(bool	forceRedraw) // 1-30-01 added bool forceRedraw default is true

set as default for CK mode
void TDropPreviewImage::LoadCKPropertiesFromFile()	// 10-19-04
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TDropPreviewImage::SetSettingsAsDefault()
add color settings to prefs
typedef struct tNewOneUpPrefStruct

fix issues with apply to all
TOneUpPreviewImage::TOneUpPreviewImage() : TCameraPreviewImage()
void TOneUpPreviewImage::SetDefaultsFromPrefs()		// 10-19-04
void TOneUpPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,

1.  When in the ChromaKey Mode and you select Template and then select the upper category the thumbnails do not load the first time.
void TCKFolderList::SetCategory(CStr255_AC		category)

When Images are in the TEPS-Processor in the Pending Jobs please show a Thumbnail of the Job that is selected
void TPrintView::SaveJobFile(TFile	*aFile, bool	now, short imageNumber, CStr255_AC	nameStr)

Please move the Delete Images in the Image Menu down away from the Remove Images Menu
put 2 separators in there


// 10-18-04
add preview template for CK preview
GWorldPtr TDropPreviewImage::CreateCKOffscreen()	// 10-12-04
CLongintList_AC	*TDropView::GetCurrentImagesUsed()	// 10-18-04
void TDropView::SetCurrentImagesUsed(CLongintList_AC	*theList)	// 10-18-04

3rd option for full screen preview in CK mode
void TDropPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject, void* changeData, 
void TDropPreviewImage::DoZoomImage2 (short	showWhat)	// 10-18-04
bool TDropView::HandleMouseDown(const CViewPoint& theMouse,				// 10-24-01
void TNewOneUpPrefs::DoPostCreate(TDocument	*aDocument)
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)

fix 31+ character foldername
void TTEPSFileHandler::GetFolderInfo(CStr255_AC	&folderName,CStr63_AC	&volumeName)



// 10-15-04
add preview template for CK preview
typedef struct tNewOneUpPrefStruct
GWorldPtr TDropPreviewImage::CreateCKOffscreen()	// 10-12-04
void TNewOneUpPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


more than 31 characters for save as
OSErr CMyNavigation::SaveFile(short	stringIndex, FSSpec	*fs)
void TTEPSFileHandler::SaveAs(short imageNumber)
Boolean TTepsPrintHandler::CanPrintToFile(CFSSpec_AC	*fileSpec)


have right string for selecting start sitting folder
void TStartSittingPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

Freeze Frame Macys
go to Nikon camera window through color balance
IDType TNikonRawFileHandler::DoColorBalance()		// 10-15-04

fix crash when opening preference and rreturning to main
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)



// 10-12-04
for CK preview to video monitor
TDropPreviewImage::~TDropPreviewImage()
void TDropPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject, void* changeData, 
											CDependencySpace_AC* dependencySpace)								// 2-7-02
GWorldPtr TDropPreviewImage::CreateCKOffscreen()	// 10-12-04
void TDropPreviewImage::DoZoomImage2 (bool	forCK)	// 10-11-04
also make it work outside preview image
bool TDropView::HandleMouseDown(const CViewPoint& theMouse,				// 10-24-01
TNewOneUpPrefs::~TNewOneUpPrefs()
void TNewOneUpPrefs::SetSettings(tNewOneUpPrefPtr		pref)

remove FramOval's
void TLayoutObjectResizeTracker::TrackFeedback(	TrackPhase aTrackPhase,


// 10-11-04
option voor CK preview when zooming
void TDropPreviewImage::DoZoomImage ( bool doHighResImage )
void TDropPreviewImage::DoZoomImage2 (bool	forCK)	// 10-11-04
Boolean setMyNewOneUpPrefToFactoryDefaults ( tNewOneUpPrefPtr ptr )
void validatetMyNewOneUpPrefs ( tNewOneUpPrefPtr ptr )	// 10-11-04
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)
void TTeps1000Preferences::ReadPrefs()

make Macys Version work with Nikon camera
bool TNikonRawFileHandler::Check4NewFilesOnly()		// 10-11-04


// 10-8-04
fix Macys Issues

// 10-6-04
fix moving images to trash
void TTEPSFileHandler::MoveImageToTrash(short	aNumber, bool check)	// 6-4-04

create new function for copying file with long name
void	getUniqueNameWithCopyBeforeExtForLongNames(FSSpec	*fileSpec)	// 10-6-04

use in:
OSErr CreateUniqueFSSpec ( FSSpecPtr myDestinFSSpecPtr, OSType creator, OSType fileType, ScriptCode scriptTag, bool overwriteExisting )
void TTEPSFileHandler::SaveToFolder(short vRefNum, long	parID, long	fileNumber, bool showProgress)

dummy camera handler mode with use original name, make long names work
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01

copy to backup folder fix
void TBackupFilesCommand::DoIt()
bool NewSaveOffscreenToFile(short	outputType, GWorldPtr	anOffscreen, CFSSpec_AC		fileSpec, bool overwriteExisting)


// 10-5-04
fix new save file method
OSErr CMyNavigation::SaveFile(short	stringIndex, FSSpec	*fs)
use for save composition as
Boolean TTepsPrintHandler::CanPrintToFile(CFSSpec_AC	*fileSpec)

delete .i files with image files
void TTEPSFileHandler::DeleteImage(short	aNumber, bool check)	// changed 8-15-00
void TTEPSFileHandler::DeleteAssociatedFiles(TImageFileObject	*anObject)	// 10-5-04
short	TTEPSFileHandler::CheckIfDelete(short	aNumber, short	resID)	// added 8-15-00


// 10-4-04
update image name after renaming file in customer order view
void TPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)
combine steve's version with Macys Freeze Frame



// through 10-1-04
Add Macys Freeze frame Stuff

// 9-29-04 really was 9-28-04 
// remove obsolete use of kPortraitLook/kProductLook
void validateMyKodak760Settings(tKodak760Settings	*settings)
TBaseKodakProCameraHandler::TBaseKodakProCameraHandler()
void TBaseKodakProCameraHandler::ColorProcessImage(GWorldPtr	anOffscreen, KPDCImageRef 		theImage)
KPDCStatus TBaseKodakProCameraHandler::SetMetaData2Default(tMetaData	*data)	// 12-3-01


// 09-27-04
// fix resource 2140 and 2142 to have 'ok  ' be the default button action


// 09-23-04
// released as v11a106

// move some of the member functions from TNikonRawFileHandler to TNikonBaseCameraHandler
// change references from fCameraHandler to fTrueCameraHandler


// 09-22-04

// in TNikonCameraControlWindow class
// change all references of getCurrentCameraHandler to fCameraHandler


// show the name of the actual connected camera body
short TNikonRawFileHandler::GetIconAndStatusText(CStr255_AC	&statusText)


// change function names
SetMyNewBoolCapability	-> mySetBoolCapability
SetMyNewEnumCapability	-> mySetEnumCapability
SetMyNewCapability		-> mySetCapability
SetMyNewEnumUnsignedCapability -> mySetEnumUnsignedCapability

// remove old function calls
short	getExposureShortValue(float	value)


// 9-21-04
// fix nikon EV settings
// need to compute with double instead of floats
void TNikonCameraControlWindow::SetSettings()
short	getExposureShortValue2(double	value);	// 09-21-04 pass double instead of float



// 9-17-04
// copied changes from steve's project for 9-02-04 for searching nikon libs in nikon installed folders



// 9-16-04
// release as v11a105


// 9-16-04
// fix erroneous message in teps processor when do kPrint2FileSet3 and kPrint2FileSet4
short TBGPrintView::ReadObjects(FSSpec	fileSpec)

// use new path and pdf doc name for help file link
Boolean LaunchTepsOperationManual ( void )

// make kodak camera handler class handle spacebar to grab an image
bool TKodakCameraHandler::DoHandleMyKeys(TToolboxEvent	*anEvent)	// 9-16-04


// 9-16-04
create more settings for Nikon camera
BOOL myGetCapabilityValue( LPRefObj pRefObj, ULONG ulCapID, short *value)	// 9-16-04
BOOL myCreatePopup( LPRefObj pRefObj, ULONG 		ulCapID, MenuHandle aMenu, short	*current)	// 9-16-04
void TNikonCameraControlWindow::DoPostCreate(TDocument	*aDocument)
void TNikonCameraControlWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
bool	TNikonBaseCameraHandler::ReconnectWithoutCleanup()		// 9-13-04
short TNikonBaseCameraHandler::ChangeCameraSetting(unsigned long ulCapID, short newSetting)		// 9-16-04
short TNikonBaseCameraHandler::GetCameraSetting(unsigned long ulCapID)	// 9-16-04
short TNikonRawFileHandler::GetFileType()		// 9-16-04
short TNikonRawFileHandler::GetCameraSetting(unsigned long ulCapID)	// 9-16-04
short TNikonRawFileHandler::CreateCameraSettingPopup(unsigned long 		ulCapID)	// 9-16-04

space bar grabs image
bool TNikonRawFileHandler::DoHandleMyKeys(TToolboxEvent	*anEvent)	// 9-16-04


// 9-14-04
fix more issues with reconnecting Nikon camera
void TNikonRawFileHandler::SetCameraDisconnected(bool	set)	// 9-14-04
OSErr TNikonRawFileHandler::FindCamera()

change image size and shutter speed setting for nikon camera
void TNikonCameraControlWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void setMyNikonCameraSettingsToDefault()


// 9-13-04
fix issues with reconnecting Nikon camera
void CALLPASCAL CALLBACK ModEventProc( NKREF refProc, ULONG ulEvent, NKPARAM data )
bool	TNikonBaseCameraHandler::ReconnectWithoutCleanup()		// 9-13-04
OSErr TNikonRawFileHandler::ReConnect()		// 9-13-04
bool TNikonRawFileHandler::Check4NewFiles()

bring kiosk window to front after preview
short DoPrintPreviewWithSlideWindow( GWorldPtr offscreen1, GWorldPtr offscreen2, short	rows, short	cols, 



// 9-10-04
void TInfoScroller::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event,CPoint_AC hysteresis)	// 9-10-04
deselect all object by clicking in scroller part

make jump to image thumbnail index and image number 4 positions as well as number under thumbnails

all field length be 255 for database fields
typedef	struct tRecordStruct
{
	CStr255_AC	field[40+1];				// 9-10-04

} tRecordStruct;
void TRecordObject::Set(short fieldNum, CStr255_AC string)	// 9-10-04
CStr255_AC TRecordObject::Get(short fieldNum)		// 9-10-04
CompareResult_AC TDataList::CompareStrings(const CStr255_AC& s1,const CStr255_AC& s2) const		// 9-10-04
ArrayIndex_AC TDataList::GetEqualItemNo(CStr255_AC	string, short	fieldIndex)				// 9-10-04
ArrayIndex_AC TDataList::GetEqualItemNoUnique(CStr255_AC	string, short	fieldIndex)		// 9-10-04

set correct default extension for save composition as
Boolean TTepsPrintHandler::CanPrintToFile(CFSSpec_AC	*fileSpec)

implement save as PNG
bool NewSaveOffscreenToFile(short	outputType, GWorldPtr	anOffscreen, CFSSpec_AC		fileSpec, bool overwriteExisting)
CStr255_AC	getExtensionStringForSaveAsType(short	theType)	// 9-10-04
bool TTEPSFileHandler::SaveAsCustomType(short vRefNum, long	parID, long	fileNumber, bool showProgress,

for compile orders - need a checkbox - compile order without copying the images
TFile* SaveFilesAsJPEGAndWriteLogFile(FSSpec	fs, tCompileLog		log, bool	doAllFiles, short	copyFiles)		// 9-10-04
void CompileLogFileFromFolder(FSSpec	theFSSpec)
short GetChoice4(short	*all, short	*ignoreFilesWithoutOrders, short	*copyFiles)		// 9-10-04

in customer order mode, want to be able to start with a number other than 1
TCameraHandler::TCameraHandler()
void TCameraHandler::SetCustomerStartValue(short	value)	// 9-10-04
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)
bool setCurrentStudent(CStr255_AC	theString)

// 9-8-04
fixed some more redraw issues with new drawing method
void TDropPreviewImage::Draw(const CViewRect &area)
void TDropView::ResetTemplate()

fix cllicking the close box of image settings window in edit template mode
void TImageSettingsWindow::CloseByUser(CommandNumber aCommandNumber)	// 7-2-04

// 9-7-04
fixed some more redraw issues with new drawing method
void TFolderOverlayList::SetNewOverlaySettings(short	image)

worked on new class to save to and read from cache file
GWorldPtr TNodeViewObject::NodeFile2PrintOffscreen(FSSpec	fileSpec, short dpi, TPrintView	*theView, GWorldPtr	offscreen)	// 1-23-04
TCacheFile
TCacheFileHandler
void  TTeps2000Application::InitializeApplication()
void TTeps2000Application::Close()


// 9-2-04
fix some issues with loading pref file
TDummyCameraHandler::~TDummyCameraHandler()
void TDummyCameraHandler::ClearDummyFileList()
TNikonRawFileHandler::~TNikonRawFileHandler()
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)


// 9-1-04
create new hierarchical menu to save mask only, image with mask and CK image with mask
void TDropPreviewImage::SaveMask(CommandNumber	cmdNumber)	// 9-1-04
void TDropPreviewImage::SaveMaskOnly()	// 9-1-04
void TDropPreviewImage::SaveImageWithMask()	// 9-1-04
void TDropPreviewImage::SaveCKImageWithMask()	// 9-1-04
void TPreviewImageWindow::DoSetupMenus()
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)

if database is off and you click on Customer database present an alert with option to turn on database
void TestImportFileWindow()		// 8-8-03

create option to save .PNG files
OSErr writeGWorldToImageFile(GWorldPtr gw,const FSSpec *fileSpec, short	fileType, short dpi)
OSErr writeGWorldToImageFile(GWorldPtr gw,const FSSpec *fileSpec, short	fileType, short dpi, short	JPEGQuality)	// 4-23-04


// 08-31-04
fix issues with Nikon Camera's
void CALLPASCAL CALLBACK ModEventProc( NKREF refProc, ULONG ulEvent, NKPARAM data )
OSErr	TNikonBaseCameraHandler::CleanUp()
OSErr TNikonBaseCameraHandler::ChangeFileType(short which)
bool TNikonRawFileHandler::Check4NewFiles()
void TNikonRawFileHandler::ExitToMain()

// 08-30-04
make an option to skip all when duplicate record in importing
void TImportFileWindow::MergeData()		// 8-20-03

use old color processing method when full size image and no sharpness
GWorldPtr TBaseKodakProCameraHandler::GetImage(FSSpec	*fileSpec, KPDCUInt16	resID, bool	&wasRotated)

fix schoolphotograph issue with nikon cameras that always showed all images instead of only current one
bool TNikonRawFileHandler::IsValidFile(TFile *aFile)


// 08-13-04
dim other angle cluster when use other angle is off
remove all together from special one up adjust window

fix cropping issue
CRect_AC getCropRect(CRect_AC imageRect, short	mode, float	hRatio, float vRatio, short	dpi)	// 8-13-04

// 8-12-04
// 8-11-04
draw drag and drop mode and chroma key mode through offscreen
void TDropPreviewImage::Prepare4Drawing(bool	forceRedraw) // 1-30-01 added bool forceRedraw default is true
void TDropPreviewImage::ResetView()
void TDropPreviewImage::StartEdit()	// 4-12-04
void TPreviewImage::StartEdit()		// added five functions 4 virtual 2-5-02
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)
void TChromaKeyTools::Refresh ( bool doVerbose )
void TBaseTextObject::Draw4DragAndDrop(TView	*view, float factor, CPoint_AC	topLeftPoint, short	nodeRotation, 
void TBaseTextObject::ResetText(CPoint_AC	topLeftPoint)	// 10-10-01
void TFileOverlayObject::Draw4DragAndDrop(TView	*view, float factor, CPoint_AC	topLeftPoint, short	rotation, 

// 8-10-04
rotate any angle
new class TRotateAnyAngleScrollBar

fix bug when applying zoom/shift factor with one empty node to not crash
void TDragAndDropToolWindow::ApplyZoomOptionsToAll(bool	all)

fix issue in chroma key mode where it prints wrong image
short TDropView::WriteViewObjects(TStream	*aStream, short	currentImage)	// 3-3-04


// 08-04-04
// copied from 7-28-04
// fix issue when zoom aspect and source aspect ratio are the same or square
// ZoomOffsetUtils.c
void InsetRectsFromWhere(CRect_AC	&srcBound, CRect_AC	&dstBound, CRect_AC	maxSrcBound, CRect_AC	maxDstBound, short	steps, short fromWhere )



// 08-04-04
// make sure to pass signed long
BOOL mySetRangeCapability( LPRefObj pRefObj, ULONG ulCapID, SLONG theValue )

// 08-03-04

// KodakCameraHandler.cpp
// fix issue with convert and jumping to photoshop of a .dcr file to .tif file
bool TKodakCameraHandler::ConvertFile(FSSpec	*theFSSpec, bool	resetRotation)			// 7-22-03

// TEPS-X.rsrc
// ICEPICK Window 2128 - fix slider bars and number texts

// ClickBalanceWindow.cp
// fix issue with teps crashing when trying to adjust for radius/noise kodak image correction

void TClickBalanceWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TNoiseThresholdWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 8-01-04

// add progress windows when reading/importing/merging database file
// some are really large
ImportFiles.cp

// fix issue with nikon camera control window for the first time - does not find corresponding EV value
NikonCameraControlWindow.cp


// 7-30-01

// make sure to pass signed long
BOOL mySetRangeCapability( LPRefObj pRefObj, ULONG ulCapID, SLONG theValue )

// allow nikon camera class pass to quicktime inherited class
// however, does not read kodak files at all if input set to nikon camera handler

// allow set default to work for nikon camera control window via teps
// user must "set as default" to make it work the next time around
// send these default values when start sitting from teps
// all others are left alone except for these shown in the nikon camera control window









// 7-23-04
fix bug when resetting color adjust values
void TColorAdjustView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TColorAdjustView::ResetValuesForOffscreen()	// 7-23-04
void TDragDropColorAdjustView::ResetValuesForOffscreen()	// 7-23-04
void TNewCKColorAdjustView::ResetValuesForOffscreen()	// 7-23-04
void TPreviewColorAdjustView::ResetValuesForOffscreen()	// 7-23-04
void TOneUpPreviewImage::ReloadImage()	// 3-21-03

set path and media settings to factory default when clicking factory button
void TCanvasPrefs::SetFactorySettings()


// 7-22-04
// fix problem with print to file set in teps-processor
short 	TBGPrintView::DoNewPrintToFile(GWorldPtr	anOffscreen)		// 4-14-04

// added debug code to test out saving image with mask in alpha channel
// dropPreview.cp
// moreIncludes.h
// moreIncludes.c
void TDropPreviewImage::SaveMask()
bool myCopyMaskGworldToAlphaChannel ( GWorldPtr sGWorldPtr, GWorldPtr mGWorldPtr )


// 07-21-04
real time color adjust in special one up mode
void TColorAdjustView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TOneUpPreviewImage::RedrawImageWithNewColorSettings(myImageColorAdjustInfo	colorAdjustSettings, bool	what)	// 1-6-04
void TOneUpPreviewImage::StartEdit()	// 7-21-04
void TOneUpPreviewImage::StopEdit()	// 7-21-04

make button to apply color adjust to marked/all images
void TTEPSFileHandler::ApplyColorAdjustSettingsToAllImages(TImageFileObject	*anObject, bool marked)	// 7-21-04
void TNewCKToolWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

make button to apply zoom/shift to marked/all images
void TTEPSFileHandler::ApplyShiftZoomSettingsToAllImages(TImageFileObject	*anObject)	// 7-21-04
void TNewCKToolWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

make changes to save chromakey window to show templates and not show popup and new category button
void TChromakeyFolderContentsView::SetCategory(CStr255_AC		category)
PicHandle TChromakeyFolderContentsView::GetPictureHandle(GridCell aCell)	// 7-2-04
void TChromakeyFolderWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 07-20-04
work on showing rotated images correctly in drag and drop mode
void TDropPreviewImage::SetDoOtherAngle (	short	useAnyAngle, short	rotationAngle, short	angleDirection)	// 7-20-04
bool TImageObject::Draw4DragAndDrop(TView	*view, short	dpi, CPoint_AC topLeftPoint, short rotation, bool	isColor, bool isMirror, 
bool TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
void TImageObject::DrawImageWithAngle(GWorldPtr	tmpGWorld, GWorldPtr	outputOffscreen, CRect_AC		srcRect, CRect_AC		dstRect)	// 7-20-04
short TImageObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi, CStr255_AC	&fileName)

create function to save black & white composite offscreen
void TPreviewImageWindow::DoSetupMenus()
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)



// 07-19-04
set image size of nikon files


// 07-16-04
draw all layers under chroma key object 
void TDropPreviewImage::NewPrepareOverlayOffscreen()	// 10-25-01
void TDropPreviewImage::DrawWithOffset(GWorldPtr	overlayOffscreen)
void TOverlayView::DrawWithOffset(GWorldPtr	overlayOffscreen, bool	maskCopy)	// 7-16-04

read preview image from Nikon file
GWorldPtr TNikonRawFileHandler::GetPreviewImage()


// 07-14-04
fix bug with bacling up images after a rename
void TBackupFilesCommand::DoIt()

fix bug when choosing image from image object window
GWorldPtr	ReadFile(TFile	*aFile)
bool	isValidFile(TFile	*aFile)

read Nikon images in Teps-Processor
GWorldPtr	ReadFile2(TFile	*aFile, short	imageSize, float	imageRotation, bool	&wasRotated)	// 11-19-01


// 07-12-04
// 07-13-04
Create support for Nikon images
create new class TNikonRawFileHandler
TKodakCameraHandler::TKodakCameraHandler()
TKodakCameraHandler::~TKodakCameraHandler()
GWorldPtr TKodakCameraHandler::GetThumbnailImage()
GWorldPtr TKodakCameraHandler::GetPreviewImage()
GWorldPtr TKodakCameraHandler::GetFullSizeImage()


// 07-09-04
recalculate color adjust on letting go of mouse button
void TShowValueScrollBar::DoMouseCommand(CViewPoint& theMouse,
								TToolboxEvent* event,
								CPoint_AC hysteresis)		// override

fix issue where write protected Kodak files could not be read
IDType TKodakCameraHandler::DoColorBalance()
OSErr TBaseKodakProCameraHandler::CanHandleFile(FSSpec	fileSpec)		// 7-9-04


// 07-08-04

// fix issue with kodak image either locked or tagged for read only
// will still give error message if trying to apply image setting
GWorldPtr TBaseKodakProCameraHandler::GetImage(FSSpec	*fileSpec, KPDCUInt16	resID, bool	&wasRotated)


// fix issue with canon mark_II camera in hot folder mode
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01

// fix memory leak with kodak sharpen lib
sharpenManager.cp

// just dim and display name of profile missing from kdoak image setting
void TClickBalanceView::SetHandler(TBaseKodakProCameraHandler	*aHandler, FSSpec	*spec)
bool	isProfileAvailable(short	look, Str255	&profileName, short	*vRefNum, long	*parID)

// add three more kodak looks
CStr255_AC	GetImageProfileName(short	theLook)	// 6-26-03
KPDCInt32 TBaseKodakProCameraHandler::GetLookFromProfileString(CStr255_AC	profileName)	// 7-15-03
			DCSEventLook				= 17,	// 07-08-04
			DCSCommercialProductLook	= 18,	// 07-08-04
			DCSWeddingLook				= 19,	// 07-08-04
MENU #2022

// 7-7-04
Support Command Delete in CK and Drag&Drop mode if only one image
void TDropPreviewImage::DoCommandKeyEvent(TToolboxEvent* event)		// 1-10-03
GWorldPtr TBaseKodakProCameraHandler::GetImage(FSSpec	*fileSpec, KPDCUInt16	resID, bool	&wasRotated)

fix a bug that caused CK mode to crash when clicking adjust for non chroma template
void TDropPreviewImage::StartEdit()	// 4-12-04

fix error when reading kodak images from a locked volume
GWorldPtr TBaseKodakProCameraHandler::GetImage(FSSpec	*fileSpec, KPDCUInt16	resID, bool	&wasRotated)

support opening of images through new CK list window
create new class TChromakeyFolderContentsView2
void RegisterMacAppClasses()

allow saving CK template as regular template
bool TLayoutView::SaveChromaKeyTemplate(FSSpec	*tmpFS)		// 7-6-04

reset window positions in template window mode to match up windows so you can see them all at the same time in 1024x768 mode
CPoint_AC TLayoutObjectListWindow::GetOffset()


// 7-6-04
finnish new window for saving chroma key tmplates
void TChromakeyFolderWindow::NewCategory()		// 7-6-04
bool TLayoutView::SaveChromaKeyTemplate(FSSpec	*tmpFS)		// 7-6-04

plus resource changes window 2140 and 2141


// 7-2-04
deselect object when closing window
void TImageSettingsWindow::CloseByUser(CommandNumber aCommandNumber)	// 7-2-04
void TLayoutView::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)

add new class to save chroma key templates
TChromakeyFolderWindow
TChromakeyFolderContentsView

// 6-30-04

when resetting shift/zoom reset numbers
void TNewCKToolWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

page down did not load correctly when doing  a print in drag and drop
bool TDropView::CreateJobFile4BackgroundPrinting(bool now)

stop button did not work when copying from pc-card
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01
short TDummyCameraHandler::AddFilesToList4 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01

data did not get cleared correctly when clicking on find tab
bool TImportFileWindow::HandleWhichTab ( EventNumber	eventNumber,TEventHandler*	source,TEvent*	event )

sometimes gave unique error when updating record
short TImportFileWindow::AddPanelData()	// 8-8-03 change from void to short
short TImportFileWindow::ReplacePanelData()	// 8-25-03


// 6-29-04
zoom and shift proportionally in special one up mode
void TOneUpPreviewImage::Zoom(bool	zoomIn)
void TOneUpPreviewImage::SetSettingsAsDefault()
void TOneUpPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03


// 6-28-04
create new functions for saving zoom and shift in chroma key mode
void TDropPreviewImage::LoadCKPropertiesFromFile()	// 6-22-04
void TDropPreviewImage::SetSettingsAsDefault()		// 6-28-04
change functions
bool loadCKPropertiesFromFile(TFile	*aFile, tCKImageProperties	*prop)		// 6-22-04
add fields for default offset and zoom settings for chroma key mode
	ptr->defaultOffset				= CPoint_AC(0,0);		// 6-28-04
	ptr->defaultZoom				= 0;					// 6-28-04
	ptr->autoLoadImageProperties	= 0;					// 6-28-04

zoom and shift proportionally in special one up mode
void TOneUpPreviewImage::OffsetRect(CPoint_AC	theOffset)
void TOneUpPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TOneUpPreviewImage::UpdateToolWindowSettings()		// 5-19-04

Scan excessively in printserverprefs.cp



// 6-25-04
create sorted list for adding 50+ images
TSortedByNameFileList*	putAllFilesInFolderInList(FSSpec	theFSSpec)		// 6-25-04
OSErr TDummyCameraHandler::ProcessFunction7()
short TDummyCameraHandler::AddFilesToList4 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 6-25-04

save bug with printing from single up mode with wrong zoom, cropping
OSErr TTEPSFileHandler::SaveAndReturnSavedFSSpec(short vRefNum, long	parID, long	fileNumber, FSSpec *theFSSpec)
bool TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)


// 6-23-04
fix removing of wrong thumbnail when in CK mode
void TNodeViewObject::FindImageInNodeAndSetFSSpec(FSSpec	imageFSSpec, TStream	*aStream, short curImage, bool	isCKMode)		// 6-23-04
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now)


// 6-22-04
do some test with saving CK properties to file
void TDropPreviewImage::SaveCKPropertiesToFile()	// 6-22-04
void TDropPreviewImage::LoadCKPropertiesFromFile()	// 6-22-04

do testing with faster update for applying color adjust
void TOneUpPreviewImage::RedrawImageWithNewColorSettings(myImageColorAdjustInfo	colorAdjustSettings, bool	what)	// 1-6-04


// 6-18-04
fix issues with image properties with print all orders etc.
void TOneUpPreviewImage::SavePropertiesToFile(TImageFileObject	*anObject)	// 3-5-03
OSErr TTEPSFileHandler::SaveAndReturnSavedFSSpec(short vRefNum, long	parID, long	fileNumber, FSSpec *theFSSpec)

fix image object not being constrained first time
void TLayoutView::DropImageObject()
bool TLayoutView::GetNewObjectSize(CViewRect	&bounds, bool	&constrain)	// 6-18-04


// 6-16-04
add matte level for kodak 8500 in reserved1 field

Command delete moves image to trash
void TDropPreviewImage::DoCommandKeyEvent(TToolboxEvent* event)		// 1-10-03
void TPreviewImageWindow::DoCommandKeyEvent(TToolboxEvent* event)	// 1-10-03

always eject disks with new auto locate pref on
short myNewCheckForPCCard ()

update filename under images when renaming files
void TImageFileObject::RenameFile()

fix issue with slow printing with test folder ( 7 second delay)
void TBaseTextObject::Draw4DragAndDrop(TView	*view, float factor, CPoint_AC	topLeftPoint, short	nodeRotation, 
									CPoint_AC	theSize, bool	isColor, bool	isMirror, short	textRotation)
void TOverlayView::SetNewOffscreen(GWorldPtr	anOffscreen)		// 6-16-04


add color settings for mitsubishi printer
TMitsubishiPrinterPrefs::~TMitsubishiPrinterPrefs()
void TMitsubishiPrinterPrefs::SetSettings(tMitsubishiPrinterPrefPtr	ptr)


// 6-15-04
add popup for editable text button to also show database record
TPopupCommand::TPopupCommand(TView	*aView, IDType	theType) :
void TPrintToolbarWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

save new kodak printer color settings
void TTeps1000Preferences::ReadPrefs()
void TTeps1000Preferences::WritePrefs() const

fix graphic icon issue when choosing print all orders
void TFolderOverlayList::SetCategory(CStr255_AC		category)

do not change ratio of groupphoto when no image is loaded
void TGroupPhotoObject::Draw4DragAndDrop(TView	*view, float factor, CPoint_AC	topLeftPoint, short	rotation, 

send new kodak color settings to processor
void WriteColorCorrectionValue(TStream	*aStream, short	thePrinterType)

// 6-14-04
add color adjust for 6800 and 86xx
myUpdColorAdjustInfoPtr getMyKodak6800PrinterPrefs()		// 6-14-04
myUpdColorAdjustInfoPtr getMyKodak86xxPrinterPrefs()		// 6-14-04
Boolean setMyKodak6800PrinterPrefToFactoryDefaults ( myUpdColorAdjustInfoPtr ptr )		// 6-14-04
Boolean setMyKodak86xxPrinterPrefToFactoryDefaults ( myUpdColorAdjustInfoPtr ptr )		// 6-14-04

fix bug in reloading images in jumping to edit template and jumping back to preview images window
void TPreviewImageWindow::SetCurrentImagesUsed(CLongintList_AC	*theList)	// 4-19-04

fix repeat start sitting for school mode
void TThumbnailToolsView::DoStartSittingChoice(short	choice)	// 6-7-04


// 6-10-04
add kodak 8500 printer and mediatype window
void TCanvasPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TCanvasPrefs::SetFactorySettings()
void TCanvasPrefs::SetSettings()
void doKodak8500FactorySettings()	// 6-10-04
void TTeps1000Preferences::ITeps1000Preferences()
void TTeps1000Preferences::ReadPrefs()
void TTeps1000Preferences::WriteTo(TStream* aStream) const
short	getResSaveNumberFromPrinterType(short	printerType)		// 2-22-01
TTepsPrintHandler *CreatePrintHandler(short	printerType, tNewCanvasSizes	*aCanvas)
void TPrintView::WriteHeader(TStream	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, TFile	*aFile)	// 12-8-03

add edit node button on node settings window
void TNodeViewSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TLayoutView::DoMenuCommand(CommandNumber aCommandNumber)

add new color adjust function for processor
bool ApplyColorSettingsToOffscreen(GWorldPtr	srcOffscreen, myUpdColorAdjustInfo	settings, GWorldPtr	dstOffscreen)	// 6-10-04

// 6-9-04
fix coloradjust info to use same variable all across the board
GWorldPtr	TDragDropColorAdjustView::GetOffscreenAndColorSettings(myImageColorAdjustInfo	*ColorAdjustInfo)

update toolwindow color adjust settings
void TDropPreviewImage::UpdateToolWindowSettings()		// 5-19-04
void TOneUpPreviewImage::UpdateToolWindowSettings()		// 5-19-04

fix issue that caused images not to get marked anymore
void THideNameView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

set Kodak 6800 dpi to 300
void doKodak6800Settings()	// 2-11-04

apply colorsettings when doing high res preview
void TPreviewImage::DoZoomImage ( bool doHighResImage )

add other folder to compile school log file options
void CompileLogFileFromFolder(FSSpec	theFSSpec)

other
void TDropPreviewImage::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC thePoint) 

// 6-8-04
make new class TKodak8500PrinterPrefs
new output canvas and pref for Kodak 8500 printer (hidden for no)

new function void myNewCopyResourceFork(FSSpec	srcFSSpec, FSSpec	dstFSSpec)	// 6-8-04
to copy resource forks
call in:
OSErr myTFileMoveFile ( TFile *aFile, short	vRefNum, long destDirID )


// 6-7-04
separate default folder button action for preview images and start sitting
TPopupCommand::TPopupCommand(TView	*aView, IDType	theType) :
add 	previewFolderButtonDefault	and removeImagesDefault to tPreviewPrefStruct
Boolean setMyPreviewPrefToFactoryDefaults ( tPreviewPrefPtr ptr )
TPreviewWindowPrefs::~TPreviewWindowPrefs()
void TPreviewWindowPrefs::SetSettings(tPreviewPrefPtr		ptr)
void TTEPSFileHandler::AddFilesFromFolderAndSubFolder(bool		displayHowManyAdded)		// 6-7-04
void TThumbnailToolsView::DoStartSittingChoice(short	choice)	// 6-7-04
void TThumbnailToolsView::DoPreviewImagesChoice(short	choice)	// 6-7-04
void TThumbnailToolsView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 6-3-04
fix image popup menus to match and add move to trash feature
bool DoImagePopupMenuChoice(short	choice, short	imageIndex)		// 6-4-04
void TPreviewImage::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void THideNameView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

give a message when trying to do kodak image settings on a none kodak file
IDType TKodakCameraHandler::DoColorBalance()
bool DoImagePopupMenuChoice(short	choice, short	imageIndex)		// 6-4-04

correct naming for move to trash feature (to match dragging to trash in finder)
OSErr CreateUniqueFSSpecNew ( FSSpecPtr myDestinFSSpecPtr, OSType creator, OSType fileType, ScriptCode scriptTag, bool overwriteExisting )
short copyTheFile ( FSSpecPtr mySourceFSSpecPtr, FSSpecPtr myDestinFSSpecPtr, bool overwriteExisting)

redraw file name when moving tot top or bottom
void TThumbNailView::Draw(const CViewRect	&area)


// 6-2-04
// release as v11b9
copied changes for auto-converting old editableTextObjectWithDatabase to new databaseObject

// fix issues with old versions of layout views and newer software and vice versa
#define		kJobVersion18		8818				// 6-02-04
#define		kJobVersionLimit	kJobVersion18		// 6-02-04	kJobVersion17		// 4-23-04
#define		kCurJobVersion		kJobVersion18			// 06-02-04	kJobVersion17		// 4-23-04

UInt32 GetValidFileVersion ( CList_AC *theList );	// 06-02-04
void TLayoutView::WriteTo(TStream	*aStream) const
#define		kLayoutFileVersion2			1102					// added 06-02-04
#define		kCurLayoutFileVersion		kLayoutFileVersion2		// 10-14-02

// fix issue with db text not sent properly to spooler from drag and drop mode
void TNodeViewObject::FindImageInNodeAndSetFSSpec4DragAndDrop(FSSpec	imageFSSpec, TStream	*aStream, short curImage)



// 6-1-04
release as v11b8

// 6-1-04                                               
// use kodak sharpen lib withOUT allocating a second buffer
// only sharpen on high res image


// 5-29-04
// 5-28-04
// make all the kodak GetImage go thru one common function


// 6-1-04
fix bug in prompt for images
bool TSelectImageWindow::SetImageToShowSpecs(FSSpec	dir, long	image, CStr31_AC	folderName)
void TTEPSFileHandler::LoadImagesIntoResourceFile(TFile	*resourceFile, CPoint_AC	theSize, long numOfImages)	// 6-1-04


// 5-27-04

// ColorSyncUtils.c
// ColorSyncUtils.h
CMError myCreateCWTransform ( CMWorldRef &cw, Handle &inputData, FSSpec	&outputProfFSSpec )
CMError myCreateCWTransform ( CMWorldRef &cw, FSSpec &inputProfFSSpec, FSSpec	&outputProfFSSpec )
CMError myMatchRGB48Data ( CMWorldRef &cw, char* imageData, long width, long height )
CMError myMatchLAB48Data ( CMWorldRef &cw, char* imageData, long width, long height )
OSErr myFindProfileByName ( FSSpec &profileFSSpec, CStr255_AC &profileName )

// myGWorldStuff.h
// myGWorldAndBuffer.c
OSErr myConvert16bitBufferToGWorld ( GWorldPtr &anOffscreen, unsigned char *pbyBuffer, long width, long height );	// created 05-27-04

// kodakProCameraHandler.cp
// kodakProCameraHandler.h
GWorldPtr TBaseKodakProCameraHandler::ProcessImageAndConvertToGWorld ( unsigned char *pbyBuffer, KPDCImageRef theImage, long desiredWidth, long desiredHeight )
GWorldPtr TBaseKodakProCameraHandler::GetImage(FSSpec	*fileSpec, KPDCUInt16	resID, bool	&wasRotated)
KPDCStatus GetDeviceLinkName ( KPDCModelCodes csCameraModel, KPDCIlluminants csBaseIlluminant, CStr255_AC &csDeviceLinkName );	// 5-27-04
KPDCStatus TBaseKodakProCameraHandler::ColorProcessImage48 ( unsigned char *imageData, KPDCImageRef theImage, long desiredWidth, long desiredHeight )
KPDCStatus TBaseKodakProCameraHandler::ColorProcessImage48OLD ( unsigned char *imageData, KPDCImageRef theImage, long desiredWidth, long desiredHeight )
KPDCStatus TBaseKodakProCameraHandler::ColorProcessImage48NEW ( unsigned char *imageData, KPDCImageRef theImage, long desiredWidth, long desiredHeight )
CMError myMatchBitmapWithHandle ( unsigned char *imageData, long width, long height, 
									FSSpec deviceLinkProfFSSpec, Handle	inputData, FSSpec	outputProfFSSpec )	// 7-15-03

// SharpenManager.cp
// SharpenManager.h
KPDCStatus TSharpenManager::Initialize()
KPDCStatus TSharpenManager::CreateSharpeningObject(KPDCRect imageBoundaryRect, short amountToSharpen, short sharpenRadius, short sharpenThreshold)
KPDCStatus TSharpenManager::Sharpen(KPDCRect* inFirstStripRect, KPDCPixelLayout* inFinalBufferPixelLayout)
KPDCStatus TSharpenManager::Sharpen ( KPDCRect* inFirstStripRect, KPDCPixelLayout* inPixelLayout, KPDCPixelLayout* outPixelLayout )


// 5-25-04
// copied changes from 5-18-04 for kodak camera KPDC_DCSProSLRc
KPDCStatus TBaseKodakProCameraHandler::ColorProcessImage48 ( unsigned char *imageData, KPDCImageRef theImage, long desiredWidth, long desiredHeight )
KPDCModelCodes TBaseKodakProCameraHandler::GetMyCameraModel(KPDCImageRef theImage, KPDCProcs *theProcsPtr)	// 9-23-02

// 5-25-04
void TDropView::DrawViews(CRect_AC	theRect, FSSpec	templateFSSpec, bool	isNewType)	// 9-7-01
short TDropView::WriteViewObjects(TStream	*aStream, short	currentImage)	// 3-3-04
void InitMacAppClasses()
void TLayoutView::DoNewReadObjects(TStream	*aStream, short count)		// 10-31-03
short checkIfNewLayoutFileAddToList(TStream	*aStream, CList_AC	*theList)	// 10-17-02
void TNodeViewObject::FindImageInNodeAndSetFSSpec(FSSpec	imageFSSpec, TStream	*aStream, short curImage)
void TPrintView::DoNewReadObjects(TStream	*aStream, short count)		// 10-31-03
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now)

when setting default kodak dcs settings write to pref file
void TKodakTIFFFileHandler::SetCurrentSettingsAsDefault()

// 5-24-04
create Database Object
new class TDatabaseObject, TDatabaseSettingsWindow
plus changes to:
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TDropView::ResetEditText(CPoint_AC	topLeftPoint)	// 10-10-01
void RegisterMacAppClasses()
void TDesignWindow::DoPostCreate(TDocument* itsDocument)
CStr255_AC TLayoutObjectListView::GetText(const GridCell& aCell) const
void TTextObject::Invalidate(TScalableView* aView)

new functions:
bool findInDatabaseAndReturnString(CStr255_AC	string, short fieldNumToReturn, CStr255_AC	&stringToReturn)		// 5-24-04
bool findStringAndCopyToDatabaseStructure(CStr255_AC	string)		// 5-24-04

// 5-19-04
add color adjust to new tool window
use new toolwindow always in chroma key mode and special one up mode
changes to class TNewCKToolWindow, TDropPreviewImage, TOneUpPreviewImage, TPreviewImage, TCameraPreviewImage

// 5-18-04
create customer info files for directory through popup menu for preview images
void TMainWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

create support for database and customer orders if there is no underscore in the name
new function:
CStr255_AC	getCustomerNameFromFileName(CStr255_AC	fileName)	// 5-18-04
bool TCameraHandler::IsValidFile(TFile	*aFile)
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TImageFileObject::IImageFileObject(TFile *aFile, float rotation)
bool FindStringAndCopyToEditableText(CStr255_AC	string)		// 4-15-03
bool FindStringAndReturnRecord(tRecordStruct	*data, short	imageNumber)		// 9-24-03
TFile* SaveFilesAsJPEGAndWriteLogFile(FSSpec	fs, tCompileLog		log, bool	doAllFiles)		// 2-9-04
void WriteLog(TFile	*packageLogFile, FSSpec	fs, CStr255_AC newName, TNewDataList	*dataList)	// changed 9-30-03
void removeProcessedFilesFromList()	// 9-29-03
void removeFilesWithoutOrderFromList()	// 9-29-03
void TSchoolPhotographyView::SetStudentSpec(CStr255_AC	fileName, bool newStudent)
bool	TOrderSummaryWindow::IsCurrentStudent(CStr255_AC 	fileName)
void TOrderView::ChangeOrder()
void TTEPSFileHandler::CreateInfoFile4FilesInDirectory()	// 12-12-03


make exact match work correctly for database
bool FindStringAndCopyToEditableText(CStr255_AC	string)		// 4-15-03

fix issue where file was created with extension .i.info
void writeStudentOrderFile(FSSpec	tmpFSSpec, char *bufferPtr )

// 5-17-04
// release as v11b7 again

// allow max digits of image number to be 6
change resource 1264
change resource 1091
#define	kMaxImageNumberDigits	6		// 05-17-04	was 5
#define	kCustom2MaxDigit		5		// 05-17-04	always 5 for koko
#define	kMaxImageNumberValue	999999	// 05-17-04 was 99999
void TCustomFileNameWindow::SetViews3 ()
void TCustomFileNameWindow::AdjustForCustom2Mode ()
CStr31_AC FormImageNumber ( long value, bool doPad, short maxDigits )
void validateStartSittingPrefs(tStartSittingPrefPtr ptr)	// 2-5-01


// make sure starting number is a LONG
CStr255_AC	createName(CStr255_AC	baseName, long	aValue, CStr255_AC	ext, bool leadZeros, short numOfZeros)	// 05-17-04
long TBaseNameWindow::SetStartingNumber(long theNumber)
long fStartingNumber


// if basename has no "_" copy from start position
CStr255_AC getUniqueNameFromExisting(FSSpecPtr	fileSpec)

// fix issue with prompt for file attempting to read .i or .info files
bool TSelectImageWindow::SetImageToShowSpecs(FSSpec	dir, long	image, CStr31_AC	folderName)




// 5-15-04
// release as v11b7
// do not refresh chromakey image if template has no image object with chromakey option
void TPrimatteMgr::DisplayImage ()


// 5-14-04
// make set time work for all kodak cameras
KPDCStatus TBaseKodakProCameraHandler::SetClockTime (unsigned char	myStiffKodakSeconds[4] )
KPDCStatus  TBaseKodakProCameraHandler::SetCameraTimeToThisMacTime ()
void TKodakUtilWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	/*event*/)

// make function more robust
KPDCStatus TBaseKodakProCameraHandler::DCS760SetProperty ( char *propertyName, void *propertyData )

// make the capture image command work for all kodak cameras
OSErr TKodakCameraHandler::GrabImage()	// 9-8-03



// 05-13-04
// remove some extra displayNormalMessage warnings

// put back autonode button in nav window for new node object
// put back 'ditl' ressource #801


// 5-12-04

// fix issue with random incidences where print package did nothing

// make sure -1 is not passed as count parameter for checking number of specific object types
short TGeneralPrintHandler::ValidateForGroupPhotoForTemplate ( FSSpec templateFSSpec, CLongintList_AC	*list)			// 10-27-03
short getNumberOfOverlayGroupPhotoObjectType ( CList_AC *layoutObjectsList, short &count, CLongintList_AC	*aList)		// 10-27-03
void GetNumberOfSpecificObjectType ( CList_AC *layoutObjectsList, IDType objIDType, short &count, short countList[] )

// return correct count 
short TGeneralPrintHandler::ValidateForGroupPhotoForPackage ( short packageNumber, CLongintList_AC	*list)			// 10-27-03

// make sure function returns true
bool ReadLayoutObjectsFromFileToList ( FSSpec fileSpec, CList_AC* aList )


// fix crash when printer menu list starts with a separator
void TOldLayoutView::SetupPrinterMenu()




// 5-12-04
// try to compile with new libs for slr/n

// 5-11-04 later
// add extra change to make sure that "pause" "resume" in processor will force read of duplicate job names
// duplicate job names does NOT mean duplicate job




// 5-11-04
// release as v11b6 again with 5-11-04 as date
// fix bug when no teps-processor pref file (v10 or v11) ever existed

// fix bug when "print all orders" from main menu with os-printCenter job in package



// 5-10-04
copy whole resource file for Teps-Processor
void myNewCopyDataAndResourceFork(TFile	*srcFile, TFile	*dstFile)	// 5-10-04

create new funtion for Sepia
short convertDKCtoGworld4Sepia ( unsigned char *inBufferPtr, GWorldPtr myGworldPtr )		// 5-10-04
call from:
bool ConvertOffscreenToSepia ( GWorldPtr srcOffscreen, myImageColorAdjustInfo settings, GWorldPtr dstOffscreen )

do not do sepia on an overlay if it is a cut out one
void TFileOverlayObject::Draw4DragAndDrop(TView	*view, float factor, CPoint_AC	topLeftPoint, short	rotation, 


// 4-30-04
// fix issue where "adjust" button was not enabled

// 4-28-04
implement new print package for all images (hold down mouse over print package button)
OSErr TPreviewImageWindow::PrintThisPackageForAllImages()		// 4-28-04
TPopupCommand::TPopupCommand(TView	*aView, IDType	theType) :

do not promt for editable text when use database is on in object
void GetNumberOfSpecificObjectType ( CList_AC *layoutObjectsList, IDType objIDType, short &count, short countList[] )

reset current job after deleting all files
void TPrintBGBehavior::ResetAll()		// 4-28-04
void TBackgroundPrintApp::DoMenuCommand(CommandNumber	aCmdNumber)

wait a while until ready drawing object before enabling delete and exit button
TPrintJobTaskManager::TPrintJobTaskManager()
void TPrintJobTaskManager::DoNextTask()


fix issue with name shorter than 38 characters by using alias
OSErr GetAllFilesInDirectory(short vRefNum, long dirID, short &filesInDir, TSortedFileList	*aList)

// 4-27-04
close new toolwindow when deselecting image
void TDropPreviewImage::SetSelected(bool	doSelect) 

update shift zoom numbers when selecting other image
void TDropPreviewImage::SetSelected(bool	doSelect) 

// 4-26-04
create mechanism for printing packages for all images
void TGeneralPrintHandler::GetImageNumberToPrint(bool	dontCheckCanvas)
short TGeneralPrintHandler::Print()
short TGeneralPrintHandler::PrintPackageForAllImages(bool	markedOnly)	// 4-26-04

fix
void	getUniqueNameWithCopyBeforeExtension(FSSpec	*fileSpec)	// 5-2-03


// 4-23-04
pass JPEG image quality to Processor
short TBGPrintView::ReadObjects(FSSpec	fileSpec)
void TPrintView::WriteHeader(TStream	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, TFile	*aFile)	// 12-8-03
OSErr writeGWorldToImageFile(GWorldPtr gw,const FSSpec *fileSpec, short	fileType, short dpi, short	JPEGQuality)	// 4-23-04

put copy before extension when jumping to image editor
void convertFileAndJump2ImageEditor(TImageFileObject	*anObject)		// 7-22-03

remove funny frame when doing Apple double click in CK mode
short DoPrintPreview2 ( GWorldPtr anOffscreen, short resID, bool one2One, CStr255_AC	fileName)


continue implementing print to file set c and d
Teps-Processor
short TSpoolerPrintView::PrepareForPrinter()
void TBGPrintView::ReadColorCorrectionValue(TStream	*aStream, short	thePrinterType)


fix bug in drawing filename longer then 31 char. under thumbnails
void TN_UPThumbNailView::DrawFileName(TView	*aView, short	i)		// 1-7-04

fix factory settings for print to file sets
void TCanvasPrefs::SetFactorySettings()
void doPrintToFileSetFactorySettings(short	printerType);	// 04-23-04
void TTeps1000Preferences::ITeps1000Preferences()

do not display how many added when choosing repeat preview images
void TTEPSFileHandler::AddFilesFromOtherFolder(bool		displayHowManyAdded)		// add bool 4-23-04
void TThumbnailToolsView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 4-21-04
start implementing print to file set c and d
bool TGeneralPrintHandler::ValidateSecurityKey ( short printQuantity )
tNewCanvasSizes	*getThePrinterCanvas ( short printerType )
void TCanvasPrefs::SetSettings()
void TTeps1000Preferences::ITeps1000Preferences()
void TTeps1000Preferences::ReadPrefs()
void TTeps1000Preferences::WritePrefs() const
short	getResSaveNumberFromPrinterType(short	printerType)		// 2-22-01
void TTeps1000Preferences::ReadCanvasResourcesVersion14()
TTepsPrintHandler *CreatePrintHandler(short	printerType, tNewCanvasSizes	*aCanvas)
void TPrintView::WriteHeader(TStream	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, TFile	*aFile)	// 12-8-03

// 4-19-04
create an option to view the result of changing sepia settings by clicking apply button (from pref)
void TDropPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject, void* changeData, 
											CDependencySpace_AC* dependencySpace)								// 2-7-02

set default folder in chroma key prefs to pref's default folder when saving and selecting
void TNewOneUpPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
short TLayoutView::SaveChanges(bool	showDialog, bool saveAs)

reload images after coming back from drag and drop mode
void TPreviewImageWindow::SetCurrentImagesUsed(CLongintList_AC	*theList)	// 4-19-04
CLongintList_AC	*TPreviewImageWindow::GetCurrentImagesUsed()	// 4-19-04
void TPreviewImageWindow::Show(bool state, bool redraw)


// 4-16-04
finish new print to file set implementation
CStr255_AC	TBGPrintView::GetNewBaseNameForPrintToFile(tSpecialPrintToFilePrefPtr	ptr)	// 4-16-04
void 	TBGPrintView::SetCurrentImageName(CStr255_AC	imageName)	// 4-16-04


// 4-15-04
// re-release as 10b13
// fix problem with sending multiple images to processor in drag and drop mode
short TDropView::WriteViewObjects(TStream	*aStream, short	currentImage)	// 3-3-04

// 4-13-04
// 4-14-04
add new print to file set prefs to Teps-Processor
short TPreferencesListView::GetPrefFromItemText(CStr255_AC	itemText)

void TBGPrintView::ReadColorCorrectionValue(TStream	*aStream, short	thePrinterType)
short 	TBGPrintView::DoNewPrintToFile(GWorldPtr	anOffscreen)		// 4-14-04
void TPrintView::WriteHeader(TStream	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, TFile	*aFile)	// 12-8-03

TPrintToFileSetPrefs
void TBackgroundPrintingPrefs::IBackgroundPrintingPrefs()
void TBackgroundPrintingPrefs::ReadPrefs()	// added 8-2-00
void TBackgroundPrintingPrefs::WritePrefs()  const	// added 8-2-00
short TSpoolerPrintView::PrepareForPrinter()

create default folders for new print to file set mode
void TBackgroundPrintApp::IBackgroundPrintApp()

// 4-13-04
add new tool window on top for Chromakey mode when kiosk window is open
IDType	TNewCKToolWindow::GetCurrentTool()	// 4-13-04
void TNewCKToolWindow::Show(bool	state, bool redraw)	// 4-13-04
void TDropPreviewImage::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC thePoint) 
void TDropPreviewImage::StartEdit()	// 4-12-04
IDType TDropView::GetCurrentTool()


// 4-13-04
// gave out as 10b13
// fix the fix to truncate dup kodak .dcr/.tif files when names less than 31 chars

// 04-12-04
// fix factory default issues with os chooser printer canvases
// also changed MENU 1003 chooser to os print center
void TCanvasPrefs::SetFactorySettings()

// 04-09-04
// 04-12-04
add categories for chromakey folders;
in newoneuprefs:
add 	CStr63_AC		defaultFolder;	
Boolean setMyNewOneUpPrefToFactoryDefaults ( tNewOneUpPrefPtr ptr )
void TNewOneUpPrefs::DoPostCreate(TDocument	*aDocument)
void TNewOneUpPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TNewOneUpPrefs::SetSettings(tNewOneUpPrefPtr		pref)
TNewOneUpPrefs::~TNewOneUpPrefs()

adjust IsExistingTemplateFile2 to allow subfolders
bool IsExistingTemplateFile2(FSSpec	*dirFSSpec)
GWorldPtr TPrintView::DrawViewForThumbNail(FSSpec	templateFSSpec)


add a function to auto create default sub folder in chromakey folder at startup and copy all files in it
void setupNewCKFolder()	// 4-9-04
void  TTeps2000Application::InitializeApplication()
short GetNumberOfFolders(short	vRefNum, long	parID)		// 4-9-04
short moveAllFilesInFoldertoDestFolder(FSSpec	theFSSpec, FSSpec	dstFS)		// 4-9-04

add new window for chromakey templates, new class
TNewCKToolWindow
TCKFolderList
TCKFolderWindow

allow for edit chroma key templates
void TPreviewImageWindow::Show(bool state, bool redraw)
void TPreviewImageWindow::SetNewCKTemplate(FSSpec	tmpFSSpec)		// 4-9-04
void TPrintToolbarWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 04-07-04
fix bug in Kodak settings window, noise reduction value and radius were reversed on the screen
void TClickBalanceWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

show correct window when choosing delete marked or delete unmarked, was reversed
void TTEPSFileHandler::DeleteMarkedImages(CommandNumber	aCmdNumber)	// changed 3-8-04


// 04-06-04
fix chromakey memory error
void TestChromaKey2(GWorldPtr	fg, GWorldPtr	bg, TPrimatteMgr	*aMgr, TView	*aView, short	operationMode)	// 4-14-03
void TOffscreenPicture::Draw(const CViewRect	&area)

limit zoom in chromakey window
void TChromaKeyView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

fix error with sending long file names to Teps-Processor
OSErr TTEPSFileHandler::SaveAndReturnSavedFSSpec(short vRefNum, long	parID, long	fileNumber, FSSpec *theFSSpec)

void TTEPSFileHandler::SaveMarkedFilesAsCK()	// 3-23-04
write zeros for shift zoom rotation values so that it shows the whole thing

// 04-02-04

// fix saving dup kodak .dcr/.tif files when sending jobs to processor
OSErr TTEPSFileHandler::SaveAndReturnSavedFSSpec(short vRefNum, long	parID, long	fileNumber, FSSpec *theFSSpec)


// set correct default layout window to inches
void TLayoutSizeWindow::DoPostCreate(TDocument	*aDocument)

// 3-23-04
create Save Marked files as CK
void TPreviewImageWindow::DoSetupMenus()
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)
void TTEPSFileHandler::SaveMarkedFilesAsCK()	// 3-23-04

create thumbnails for all chroma key templates
void createThumbNailsForAllCKTemplateFiles()	// 3-23-04

remove loading of save attributes in CK mode
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03

// 3-22-04
support new kodak camera
KPDCModelCodes TBaseKodakProCameraHandler::GetMyCameraModel(KPDCImageRef theImage, KPDCProcs *theProcsPtr)	// 9-23-02
KPDCStatus TBaseKodakProCameraHandler::ColorProcessImage48 ( unsigned char *imageData, KPDCImageRef theImage, long desiredWidth, long desiredHeight )

creat ethumbnails for chroma key templates
void TLayoutView::doSave(FSSpec	theFSSpec)
void createThumbnail4CKTemplateFile(TFile	*aFile)		// 3-22-04
void GoToChromaKeyTemplateWindow()	// 9-17-01

// 3-19-04q	
Fix redraw of "return to main" button
void TPrintToolbarWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 3/17/04
Used newly converted IcePick resource files
"Teps-X.rsrc"
"Teps Processor.rsrc"


// 3-16-04
// Change from "Chooser" to "OS Print Center"
PreferencesWindow.h

// really remove "save" button in CK mode in source
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)

// fix issues all/marked images all pages with group photo when first image is a group photo
GWorldPtr TTepsPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)


// 3-15-04
remove 'save'-button in CK mode 
View Resource 1401

Do not rotate Group Photo Thumbnails and do not use image properties
void TImageFileObject::IImageFileObject(TFile *aFile, float rotation)
void TImageFileObject::DrawContents(TView	*itsView, short	aNumber)

use resize to fit for Group photos instead of stretch to fit
bool TGroupPhotoObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
Teps-Processor
Boolean TGroupPhotoObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)

also in drag and drop mode
void TGroupPhotoObject::Draw4DragAndDrop(TView	*view, float factor, CPoint_AC	topLeftPoint, short	rotation, 
									CPoint_AC	theSize, bool	isColor, bool	isMirror, bool	isSepia)			// 7-29-03
TOverlayView::TOverlayView()
void TOverlayView::DoPostCreate(TDocument	*aDocument)
void TOverlayView::Draw(const	CViewRect	&area)
void TOverlayView::UpdateRelativeGraphics()		// 5-10-01

default to group photo 1 and set settings correspondingly when creating new group photo object
void TGroupPhotoSettingsWindow::SetGroupPhotoObject(TGroupPhotoObject	*anObject)


// 3-12-04
make it easier to deselect image in CK mode
res change

make auto mark work when placing an order
void TSchoolPhotographyView::EndPreview(TImageFileObject	*anObject)

when setting up packages,
after changing the printer name, the canvas names DO NOT change on the fly.
void TPackageEditWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

3. the "cancel" button now works when printPreviewing multiple pages.
however, the progress box for each page NO LONGER displays anything
it's completely blank -
GWorldPtr TTepsPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)

make some more resource changes

// 3-10-04
fix auto marked ordered images at startup
void TImageFileObject::IImageFileObject(TFile *aFile, float rotation)
AND through preview image window menu
void markOrderedImages()

2. make dimmed (untouchable) printers in the output canvases print popup list
never show up in print toolbar
void TOldLayoutView::SetupPrinterMenu()

1. drag and drop view of template containing group photo should update automatically
after marking a different thumbnail as the group photo
void THideNameView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

7.CANCEL button does not work when print preview more than one page
short DoPrintPreview ( GWorldPtr outputOffScreen, Boolean doUseTExternalVideoWindowServer, CStr255_AC	fileName, TImageFileObject	*anObject)
short DoPrintPreviewWithSlideWindow( GWorldPtr offscreen1, GWorldPtr offscreen2, short	rows, short	cols, 
											TImageFileObject	*obj1, TImageFileObject	*obj2)	// 3-10-04 changed to short

do not preview or print group photo's when doing all images
long TTEPSFileHandler::GetNumberOfNonStaticFiles()	// 3-10-04
GWorldPtr TTepsPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
void TTepsPrintHandler::CreateJobFile4BackgroundPrinting(short	imageNumber, Boolean now, bool stop)
short TPrintView::GetNextImageFile()

in Teps2000.rsrc
4. dim out kodak 6800 and mitsubishi


// 3-9-04
3. dont crash when unable to create the info file
OSErr	readCustomerInfo(FSSpec	tmpFSSpec, tCustOrderPtr	ptr)

start implementing Print To File Set A + B but disable in menu for now
changes in Preferenceswindow and Teps1000Preferences.cp and constants files

disable mitsubishi kodak 6800 and new print to files all together
5. do not send job to processor if any item is dimmed out from #4 or any other printers in the future
TTepsPrintHandler *CreatePrintHandler(short	printerType, tNewCanvasSizes	*aCanvas)


// 3-8-04
make some resource changes (Image Menu, etc), remove references to Teps Spooler

update zoom shift window when dragging
void TOneUpPreviewImage::OffsetRect(CPoint_AC	theOffset)
void TDropPreviewImage::OffsetRect(CPoint_AC	theOffset)


create correct USED printer list, maintain seperators and order
void TOldLayoutView::SetupPrinterMenu()

1. Enable "Remove ALL"
void TTEPSFileHandler::RemoveMarkedImages(CommandNumber	aCmdNumber)	// changed 3-8-04
void TTeps2000Application::DoSetupMenus()
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)


2. enable "Delete ALL"
(must prompt)
void TTEPSFileHandler::DeleteMarkedImages(CommandNumber	aCmdNumber)	// changed 3-8-04
void TTeps2000Application::DoSetupMenus()
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)

3. "Repeat Preview Images"
void TThumbnailToolsView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

4. Default "transparency" option to ON ALWAYS
do NOT show option in node object
void TNodeViewObject::ReadFrom(TStream	*aStream)
TNodeViewObject::TNodeViewObject()
void TNodeViewObject::Set(CNodeDesc		*nodeDesc)
void TNodeViewObject::Get(CNodeDesc		*nodeDesc)
void TNodeViewObject::INodeViewObject(const CViewRect& itsBounds, FSSpec	fileFSSpec, TView	*aView)


5. Color sync for monitor preview must NOT be used when doing final colorsync for output
void applyEmbeddedProfile(GraphicsImportComponent theGI, GWorldPtr	newGWorld)



// 3-5-04
fix bug in processing marked images all pages wen there is a marked image number
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now)

continue support for all images, all pages in CK mode
void TTepsPrintHandler::CreateJobFile4BackgroundPrinting(short	imageNumber, Boolean now, bool stop)

add transparent attribute to auto node
void TNodeViewObject::SetTransparent(bool	transparent)	// 3-5-04
void TTemplateView::PlaceAutoNode(CStr255_AC	fileName)	// 10-21-02

// 3-3-04
create support for all images, all pages in CK mode
short TDropView::WriteViewObjects(TStream	*aStream, short	currentImage)	// 3-3-04
void TPrintView::DoPostCreate(TDocument* itsDocument)
short TPrintView::GetNextCKImageFile()		// 3-3-04

1. get "Apply Cropped/Zoom/Shift Settings" to: marked images  all images
short	TImageFileObject::GetOrientation()	// 3-3-04
void TTEPSFileHandler::ApplyZoomShiftColorSettingsToAllImages(TImageFileObject	*anObject)	// 3-3-04

fix bug in Revert Image
void TOneUpPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)
void TPreviewImageWindow::DoSetupMenus()
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)


// 3-1-04
// 3-2-04
create support for writing longer file names for print to file and job files
CStr255_AC getBaseNameFromName(CStr255_AC	fileName)	// 3-2-04 changed from CStr31_AC to CStr255_AC
CStr255_AC FormFileNameNew ( CStr255_AC baseName, CStr255_AC imageNumber, CStr255_AC extension )	// 3-2-04
CStr255_AC	FormFileNameNew ( CStr255_AC baseName, long aValue, CStr255_AC	ext, bool doPad, short maxDigits )	// 3-2-04
CStr255_AC getUniqueNameForPrintToFileNew (CStr255_AC	baseName, long	&startValue, CStr255_AC	ext, short leadZeros, FSSpecPtr	tmpFSSpec)	//3-2-04
CStr255_AC getPrintToFileName(tNewCanvasSizes	*aCanvas)
CStr255_AC getPrintToFileName(tNewCanvasSizes	*aCanvas, short	quantity)	// 8-7-02

Teps-Processor
short 	TBGPrintView::Print2File(GWorldPtr	anOffscreen)

fix bug with using l(andscape) and p(ortrait) keys in one up mode and double preview mode
void TOneUpPreviewImage::Rotate(CommandNumber	aCmdNumber)		// 3-2-04
void TPreviewImageWindow::RotateSelectedImage(bool	portrait)	// 2-24-04


// 02-27-04
create support for longer file names
CStr255_AC	TImageFileObject::GetFileName()		// 2-27-04
CStr255_AC TTEPSFileHandler::GetFileName()
OSErr TTEPSFileHandler::SaveAndReturnSavedFSSpec(short vRefNum, long	parID, long	fileNumber, FSSpec *theFSSpec)
void TImageFileObject::RenameFile()
CStr255_AC TStampObject::GetStringToDraw4Printing()
void TDropPreviewImage::GetNodeAndImageInfo(CStr255_AC	&nodeName, CStr255_AC	&imageName, CPoint_AC	&fileSize, CStr255_AC	&pathName)
short TDropView::WriteViewObjects(TStream	*aStream)	// 8-7-01


// 02-25-04
add string for group photo object 
void TDesignWindow::DoPostCreate(TDocument* itsDocument)

fix for chromakey rotate image bug
Boolean TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)


// 02-24-04
create support for l(andscape) and p(ortrait) keys 
void TPreviewImageWindow::RotateSelectedImage(bool	portrait)	// 2-24-04
void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)


// 02-23-04
fix problem with zooming ratio
void TDragAndDropToolWindow::ApplyShiftAndZoomOptionsToAll(bool	all)
TImageFileObject::TImageFileObject()
void TImageFileObject::SetScalingFactor(short	aFactor)	// 2-23-04
	short 	GetScalingFactor() { return fScalingFactor; };	// 2-23-04
void TTEPSFileHandler::SetScalingFactor(short	aFactor)
short TTEPSFileHandler::GetScalingFactor()

// 02-20-04
fix problem with pc import file
TDataList *TImporter::ReadImportFile(CLongintList_AC	*orderList)
TDataList *TImporter::GetFirstTenRecords(short	&fieldCount)		// 9-11-03
pascal Boolean MyNavObjectFilterProc(AEDesc * theItem,void * info, void * callBackUD, NavFilterModes filterMode)	// 2-18-04


// 02-18-04
create option to apply embedded profile or not
Boolean setMyColorSyncPrefToFactoryDefaults ( tColorSyncPrefPtr ptr )
TColorSyncPreferences::~TColorSyncPreferences()
void TColorSyncPreferences::SetSettings(tColorSyncPrefPtr	colorsyncPref)
bool applyProfile(GWorldPtr	outputOffScreen, Handle	profHandle)

fix issue in chromakey mode that reverts back to old image when going to zoom mode
void TDragAndDropToolWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

create filter routine for choosing import files to allow .txt files
OSErr myChooseImportFile(const FSSpecPtr defaultLocationfssPtr, OSType	fileType, CStr255_AC	message)		// 8-12-03
pascal Boolean MyNavObjectFilterProc(AEDesc * theItem,void * info, void * callBackUD, NavFilterModes filterMode)	// 2-18-04

set new factory default for match orientation print toolbar pref
Boolean setMyPreviewPrefToFactoryDefaults ( tPreviewPrefPtr ptr )


// 02-17-04
// sent version to gary as 10b9

// read embedded profile when in teps-processor too
bool applyProfile(GWorldPtr	outputOffScreen, Handle	profHandle)




// 02-13-04
// 10b8 took to show - loaded on denny's computer???
// fix potential crash when adjust window and ck image tool bar are both opened at the same time
void TShiftAndZoomWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 2-11-04
// 10b7
// force CK tool to show up when in CK preview mode


// 02-10-04

// set initialize mitsubishi canvases for new prefs
void TTeps1000Preferences::ITeps1000Preferences()

// create the new "Teps Processor Folder " as default name (NOT "Teps-Spooler Folder ")
void  TTeps2000Application::InitializeApplication()

// 2-9-04
create option to save pref to pref file from define canvas window
void EditCanvas(tNewCanvasSizes	*aNewCanvas)

make preference default rigth on returning to main (for canvases)
TPreviewImageWindow::~TPreviewImageWindow()

fix school log file issues for non-processed files only
TFile* SaveFilesAsJPEGAndWriteLogFile(FSSpec	fs, tCompileLog		log, bool	doAllFiles)		// 2-9-04
void writeDataToLogFile(FSSpec	tmpFSSpec, TNewDataList	*data, bool	doAllFiles)	// 2-9-04


// 02-09-04
// release as 10b6
// must be used with teps-printcenter 1.8.4
// remove test message if hot folder is empty
// set factory initialization of customize start sitting to enter operations window


// 02-06-04
// fix mitsubishi cut in half option to be same as margin cut pref
// fix mitsubishi output sizes to be full size of specified media
// add all the popups prefs for mitsu printer


// 1-30-04
fix compile log file issues
SchoolLogFileUtilities.c

fix preview image pref iussues
bool validateMyPreviewImagePrefs ( tPreviewImagePrefPtr ptr )
void TPreviewImagePrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TTeps1000Preferences::ReadPrefs()

Teps-Processor
add support for Mitsubishi
bool TSpoolerPrintView::WriteStructureAndOffscreenToFile(tPrintInfoStruct	*printInfo, GWorldPtr	anOffscreen)

// 1-28-04
create support for Mitsubishi media type
void TCanvasPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TCanvasPrefs::SetSettings()
void TPrintView::WriteHeader(TStream	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, TFile	*aFile)	// 12-8-03
void TBGPrintView::ReadColorCorrectionValue(TStream	*aStream, short	thePrinterType)

Draw Node view transparent when checkbox is on in edit template view
void TNodeViewObject::DrawContent(TScalableView* itsView)


// 1-27-04
fix crash for Kodak Pro Images
bool	isProfileAvailable(short	look, Str255	&profileName, short	*vRefNum, long	*parID)

resource changes


// 1-23-04
// 1-26-04
add 5th option to print to file base name -> date time stamp
change MENU 2033
CStr255_AC getPrintToFileName(tNewCanvasSizes	*aCanvas)


transparent Nodes
bool TNodeViewObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
GWorldPtr TNodeViewObject::NodeFile2PrintOffscreen(FSSpec	fileSpec, short dpi, TPrintView	*theView, GWorldPtr	offscreen)	// 1-23-04
GWorldPtr TNodeViewObject::NodeFile2DragAndDropViewPrint(GWorldPtr	offscreen, short dpi)
GWorldPtr TDropView::Draw4DragAndDropPrinting(GWorldPtr	anOffscreen, short dpi, CRect_AC	tmpRect, short	transparent)	// 1-26-04
GWorldPtr TTepsPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
void TNodeViewObject::Set(CNodeDesc		*nodeDesc)
void TNodeViewObject::Get(CNodeDesc		*nodeDesc)
void TNodeViewObject::WriteTo(TStream	*aStream) const
void TNodeViewSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TNodeViewSettingsWindow::SetNodeViewObject(TNodeViewObject	*anObject)
GWorldPtr TPrintView::Draw4Printing(short	dpi, short	imageNumber, templateInfo	*aTemplate, GWorldPtr	offscreen, CRect_AC	tmpRect,
										bool	transparent)	// 1-26-04

8 wallets is VERY slow with print all orders from main menu
void TPrintView::WriteHeader(TStream	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, TFile	*aFile)	// 12-8-03


fix bug where print all orders from main menu did not work
bool confirmDatabaseWindow()		// 11-6-03


// 1-21-04
Add multi Processing for dual processor computers for better resize
OSStatus myResizeThreaded(void	*parms, void	*parms2)		// 1-21-04
short betterResizeGworldToGworld ( GWorldPtr srcGworldPtr, Rect srcGworldBound, GWorldPtr destGworldPtr, Rect destGworldBound, short	resizeType, bool allowCancel)


// 1-20-04
add QuickTime thumbnail read
PicHandle GetThumbnailFromFile(FSSpec	fileSpec)
PicHandle getTNGWorldFromFileSpec(FSSpec	theFSSpec)	// 1-20-04

if use thumbnail input pref = true do not use thread for loading images
void TN_UPThumbNailView::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)
void TN_UPThumbNailView::LoadPage(long	aNumber)
void TN_UPThumbNailView::DrawThumbNails()

fix bug with editable text when jumping to template from preview window
TLayoutObject* TEditTextObject::New(CEditTextDesc		*textDesc)


Add multi Processing for dual processor computers
void main()
bool ApplyColorSettingsToOffscreen(GWorldPtr	srcOffscreen, myImageColorAdjustInfo	settings, GWorldPtr	dstOffscreen)
OSErr upd2500ColorAdjustRGBHandle ( Handle imageHandle, short red, short green, short blue, short dark, short light, short gamma  )
OSStatus myColorAdjustThreaded(void	*parms, void	*parms2);


fix bug with not reading in right UPDR100 pref cut in half
short	findCanvasNameInUPDR100List(CStr255_AC	canvasName)	// 1-20-04
void TPrintView::WriteHeader(TStream	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, TFile	*aFile)	// 12-8-03


// 1-19-04
fix a bug to put preview winodw at right spot when dock on left side
void TPreviewImageWindow::SetWindowToDefaultLocation(void)	// 1-19-04


// 1-7-04
implement filename under thumbnail
void TN_UPThumbNailView::LoadPage(long	aNumber)
void TN_UPThumbNailView::CreateThumbNailViews(short	begin, short end, bool show)
void TN_UPThumbNailView::DrawFileName(TView	*aView, short	i)		// 1-7-04
Boolean setMyPreviewPrefToFactoryDefaults ( tPreviewPrefPtr ptr )
TPreviewWindowPrefs::~TPreviewWindowPrefs()
void TPreviewWindowPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TPreviewWindowPrefs::SetSettings(tPreviewPrefPtr		ptr)


pass media info structure for UPDR100 to Teps-Processor
define new job version kJobVersion16
write the bytes
void WriteColorCorrectionValue(TStream	*aStream, short	thePrinterType)

and read them back in Processor
void TBGPrintView::ReadColorCorrectionValue(TStream	*aStream, short	thePrinterType)

fix focus issues for all windows with color controls
void TNewFontStyleSettingsView::Draw(const CViewRect &area)
void TColorTuningWindow::Draw(const CViewRect	&area)	// 9-14-01
void TBackColorSettingsWindow::Draw(const CViewRect	&area)	// 7-23-02
void TImageSettingsWindow::Draw(const CViewRect	&area)	// 7-23-02
void TTextSettingsWindow::Draw(const CViewRect &area)


// 1-6-04
fix bug with applying colorsettings to all images
void TOneUpPreviewImage::RedrawImageWithNewColorSettings(myImageColorAdjustInfo	colorAdjustSettings)	// 1-6-04

fix bug with cropping mark window
void TCroppingMarkWindow::Draw(const CViewRect &area)


Add Mitsubishi Canvas
#define		kMitsubishi			23	// 1-6-04
void TOldLayoutView::SetupPrinterMenu()
#define		kMitsubishiCanvasPrefs		kCDWriteCanvasPrefs + 100		// 1-6-04
tNewCanvasSizes		gMitsubishiCanvasSizes[kNumberOfCanvases];			// added 1-6-04
tNewCanvasSizes	*getThePrinterCanvas ( short printerType )
void TCanvasPrefs::SetFactorySettings()
void doMitsubishiFactorySettings()	// 1-6-04
short	getResSaveNumberFromPrinterType(short	printerType)		// 2-22-01
void TTeps1000Preferences::ReadCanvasResourcesVersion14()
TTepsPrintHandler *CreatePrintHandler(short	printerType, tNewCanvasSizes	*aCanvas)



// 1-5-04
create function to apply zoom/shift/color settings to all images
bool loadPropertiesFromFile(FSSpec	fs, tImageProperties	*prop)		// 1-5-04
void TPreviewImageWindow::DoSetupMenus()
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)
void TTEPSFileHandler::ApplyZoomShiftColorSettingsToAllImages(tImageProperties	*prop)	// 1-5-04

save new UPDR100 prefs
void TTeps1000Preferences::ITeps1000Preferences()
void TTeps1000Preferences::ReadPrefs()
void TTeps1000Preferences::WritePrefs() const

compile new MacApp to test with chooser printing - works well now

// 12-31-03
// 1-2-04
implement UPDR100 settings, media type and cut in half
void TCanvasPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TCanvasPrefs::SetSettings()
create new files UPDR100Prefs.cp and .h

put button on chroma key tool window to go to zoom mode
void TDragAndDropToolWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TDropPreviewImage::DoKeyEvent(TToolboxEvent* event)
void TDropPreviewImage::GoToZoomChromaKeyMode()	// 1-2-04

close zoom/shift window before printing
void TPreviewImageWindow::Print(short	mode, Boolean doPreview, Boolean saveToFile, Boolean doBackground, Boolean now)


// 12-12-03

create function to create info files for all files in a folder
void TTEPSFileHandler::CreateInfoFile4FilesInDirectory()	// 12-12-03
void TTeps2000Application::CreateCustomerInfoFiles()	// 12-12-03

// 12-9-03

// NEED TO ADD WARNING TO README.TXT about conflict in preference


// copied changes from 11-25-03 and 12-2-03 for database prefs
Boolean setMyDatabasePrefsToFactoryDefaults ( tDatabasePrefsPtr ptr )
void TDatabasePreferences::ViewsEnable(bool enable)
void TDatabasePreferences::SetSettings(tDatabasePrefsPtr ptr)

// adlib 1076
added label 'fvue'

// copied changes from 12-1-03 from 9.9b103 version


// show name of folder in camera status window
short TDummyCameraHandler::GetIconAndStatusText(CStr255_AC	&statusText)

// adlib 1211
make textbox larger to accommodate 2 lines of text


// copied stuff from 12-1-03 about deleting images during sitting

//inputPreferences.h
// added deleteHotFolderDuringSitting to tInputPrefs structure

// inputPreferences.cp
// add pref to delete hot folder images during sitting
// defaulted to ON for noerr
bool setMyInputPrefToFactoryDefaults ( tInputPrefPtr ptr )
void validateInputPrefs(tInputPrefPtr 	ptr)	// 2-5-01
void TInputPreferences::GoToHotFolderSettingsWindow(tInputPrefPtr	ptr)

// adlib 1090
added check box for deleteHotFolderDuringSitting

// dummyCameraHandler.cp
// after 30 items, delete hot folder items leaving 10 remaining
const short kDeleteAfterHowManyFiles	= 30;	// 12-1-03	90; // 11-12-03
bool TDummyCameraHandler::Check4NewFiles()




// 12-9-03
fixed issue with deleting job files

make chooser preference for printing through processor
Boolean setMyChooserPrefToFactoryDefaults ( tChooserPrefPtr ptr )
void TChooserPreferences::ViewsEnable(bool enable)
TChooserPreferences::~TChooserPreferences()
void TChooserPreferences::SetSettings(tChooserPrefPtr	chooserPref)
bool TChooserPreferences::IsChanged()

short TGeneralPrintHandler::PrintCanvas()

save and restore print and page setup structure correctly in Teps-X
void TNamedStdPrintHandler::SetImageWindow(TPreviewImageWindow	*aWindow)
TPreviewImageWindow::~TPreviewImageWindow()


// 12-5-03
// 12-8-03
pass print and page setup structure correctly from Teps-X to Processor
save and restore print and page setup structure correctly in Teps-X
void TDropView::FillInImageFSSpec4BGPrinting(tNewCanvasSizes	*aCanvas, tPrintSettingsPtr	printSettings, bool now)
TRefCntPrintInfo TNamedStdPrintHandler::RestorePrintInfo(TFile* itsFile, bool useRsrcFork)	// 3-21-01
void TNamedStdPrintHandler::SavePrintInfo(TFile* itsFile, bool useRsrcFork)	// 3-21-01
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now)
void TPrintView::WriteHeader(TStream	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, TFile	*aFile)	// 12-8-03


fix a bug that did not save change in cropping when hitting Command 3
void TOneUpPreviewImage::ChangeCropping()				// 12-5-03
void TOneUpPreviewImage::SaveAllSettingsToImage()		// 12-5-03
void TPreviewImage::SaveAllSettingsToImage()		// 12-5-03

// 12-3-03
create new mechanism for print jobs with "All Files"-folder in Print Jobs Folder
void TPrintBGBehavior::IPrintBGBehavior()
Boolean findAllJobFiles ( tPrintServerPrefs *infoPtr )	// 12-3-03
OSErr getAllFilesInNewDirectory(short vRefNum, long dirID, short &filesInDir, TSortedFileList	*aList)	// 12-3-03


// 12-2-03
Support Chooser printing through Teps-Processor
CString_AC TTepsChooserPrintHandler::GetDocName() const					// 12-2-03
void TTepsChooserPrintHandler::SetDocName(CStr255_AC	docName)		// 12-2-03
CStr255_AC TPrintBGBehavior::GetJobFileName()	// 12-2-03

create new mechanism for print jobs with "All Files"-folder in Print Jobs Folder
OSErr GetAllFilesInDirectory(short vRefNum, long dirID, short &filesInDir, TSortedFileList	*aList)
OSErr getAllFilesInNewDirectory(short vRefNum, long dirID, short &filesInDir, TSortedFileList	*aList)	// 12-3-03
void TSortedFileList::Insert(void* item)


// 12-1-03
Support Chooser printing through Teps-Processor
created new files:
	-URedirectedChooserPrintHandler.h + cp
	-NamedChooserStdPrintHandler.h + cp
new function
void TChooserPrint::SetOffScreen(GWorldPtr		OffScreen, short	resolution)	// 12-1-03
short TSpoolerPrintView::PrepareForPrinter()
void TBGPrintView::DoChooserPrint(GWorldPtr	anOffscreen, short	resolution)	// 12-1-03

// 11-26-03
fix issue with chroma key mode where it did not use the 2nd crop method for printing
Teps-Processor
Boolean TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)
Boolean TImageObject::Draw4PrintingNew(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)	// 12-11-02
Teps-X
bool TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)


// 11-24-03
refresh all windows after message database not found
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)

(work on saving colorsettings for special one up mode)

// 11-21-03
// added menu item for "camera hot folder" to delete hot folder contents
// title of menu item is from input prefs camera name


// 11-20-03
// try to fix acquire speed hot folder with nikon camera
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01




// 11-19-03
// release as v9.9b101

// fix teps-processor method of auto-fitting the text in the box
// need to move function to common file myUtils.c
void myMakeTextFit(CRect_AC	textRect, CStr255_AC textString, short	temp, tTextInfo	style)			// 10-18-02

// fix problem with update of image preview window in drag and drop mode with editable text
void TBaseTextObject::Draw4DragAndDrop(TView	*view, float factor, CPoint_AC	topLeftPoint, short	nodeRotation, 


// 11-17-03
// fix the auto fit function to prevent infinite loop
void myMakeTextFit(CRect_AC	textRect, CStr255_AC textString, short	temp, tTextInfo	style)			// 10-18-02



// 11-14-03
DECIDE on whether to auto delete images after 90 images in list
bool TDummyCameraHandler::Check4NewFiles()


// 11-14-03
// pass the correct params to getFolderName
void TPrintToFilePrefs::UpdateFolderString(IDType	identifier, tFolderFSSpec *ptr, bool saveAliasHandle)
void TProcessedJobsPrefs::UpdateFolderString(IDType	identifier, tFolderFSSpec *ptr, bool saveAliasHandle)


// 11-14-03
// fix the auto fit function to never send negative value to TextSize
void myMakeTextFit(CRect_AC	textRect, CStr255_AC textString, short	temp, tTextInfo	style)			// 10-18-02


// 11-12-03
remove menu option to delete contents of hotfolder

change delete funtion to not delete 10 last files
void TDummyCameraHandler::DeleteAllandRestartSitting()		// 11-11-03

const short kDeleteAfterHowManyFiles	= 90; // 11-12-03
automatically call funtion when files >= kDeleteAfterHowManyFiles
bool TDummyCameraHandler::Check4NewFiles()

fix issue with saving alias handles
void CopyDataAndResourceFork(TFile	*srcFile, TFile	*dstFile)
bool CopyDataAndReplaceOldResourceFork(TFile	*srcFile, TFile	*dstFile)

	Teps-X
		main images alias handle
		special images alias handle
		backup 1 alias handle
		backup 2 alias handle
		Teps-Processor alias handle
	
	Teps-Processor
		- processed job alias handle
		
// 11-11-03
create a new funtion to delete contents of hotfolder (invisible items too)
void TDummyCameraHandler::DeleteAllandRestartSitting()		// 11-11-03

create and delete menu dummy camera to access above option
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)
TPreviewImageWindow::~TPreviewImageWindow()
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)
void TPreviewImageWindow::DoSetupMenus()


// 11-10-03
// release as v9.9b9100

// add invisible files to master list
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01
// if file returns as fnfErr, then break out and try later
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01
			if (err == -43) break;	// 11-10-03


// when checking for new kodak tiff files, use dummy source
bool TKodakTIFFFileHandler::Check4NewFiles()	// 6-2-03


// 11-07-03
// respond to apple event calls for quitting teps-processor if processor has NO active jobs
UBackgroundPrintApp.cp
void TBackgroundPrintApp::DoScriptCommand(CommandNumber aCommandNumber,


// 11-06-03
// change some url links to teps update page
Aboutstuff.c
DoDebugNewStuff.cp
DoDebugNewStuff.h
newAboutStuff.cp


// 11-06-03
make a faster mechanism for n-up using 300 dpi and better resize
void TPrintView::WriteHeader(TStream	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings)

TEPS-PROCESSOR
short TBGPrintView::ReadObjects(FSSpec	fileSpec)
GWorldPtr	getMyLastNodeOffscreen(Str255	aName)		// 11-6-03
void	setMyLastNodeOffscreen(GWorldPtr	ptr, Str255	aName)		// 11-6-03
Boolean TNodeViewObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)


// 11-3-03
created new printing pref to show group files before printing all orders
TPrintingPrefs::~TPrintingPrefs()
Boolean setMyPrintingPrefToFactoryDefaults ( tPrintingPrefPtr ptr )
void TPrintingPrefs::SetSettings(tPrintingPrefPtr ptr)
bool TPrintingPrefs::IsChanged()
void TTEPSFileHandler::PrintAllOrders()	// 4-7-03

added new (2nd) progress window for print all orders
void TTEPSFileHandler::PrintAllOrders()	// 4-7-03

Teps-Spooler
delete all jobs also deletes GROUP PHOTO FOLDER contents
void TBackgroundPrintApp::DoMenuCommand(CommandNumber	aCmdNumber)

fixed a bug with finding the current Group photo file in the current folder
bool findFileInFolder(FSSpec	*theFSSpec)	// 10-21-03


// 10-30-03
fix problem with prompting for editable text in nodes of packages


// 10-29-03
// 10-30-03
// 10-31-03
create new class TGroupPhotoObject
create new class TGroupPhotoSettingsWindow

changes to:
void TDropView::DrawViews(CRect_AC	theRect, FSSpec	templateFSSpec, bool	isNewType)	// 9-7-01
GWorldPtr TDropView::Draw4DragAndDrop(TView	*theView, CPoint_AC	topLeftPoint, short	rotation, bool	isColor, 
											bool isMirror, CStr31_AC	theNodeFileName, short markedImageNumber, bool	isSepia)		// 7-29-03
short TDropView::WriteViewObjects(TStream	*aStream)	// 8-7-01
void RegisterMacAppClasses()
void HandleDropLayoutObjects(TView* theView,const CViewPoint& theMouse,TDataPackage* theDataPackage)	
void TLayoutView::DoNewReadObjects(TStream	*aStream, short count)		// 10-31-03
void TPrintView::DoNewReadObjects(TStream	*aStream, short count)		// 10-31-03
void TFileOverlayObject::SetCurrentCategory()
void TFileOverlayObject::WriteTo(TStream* aStream) const
void TFileOverlayObject::WriteToNew(TStream* aStream)	// 10-15-02
void TFileOverlaySettingsWindow::Apply()
void TFileOverlaySettingsWindow::SetFileOverlayObject(TFileOverlayObject	*anObject)
PicHandle TLayoutObjectListView::GetPictureHandle(GridCell aCell)
CStr255_AC TLayoutObjectListView::GetText(const GridCell& aCell) const
short checkIfNewLayoutFileAddToList(TStream	*aStream, CList_AC	*theList)	// 10-17-02
void TOverlayView::UpdateRelativeGraphics()		// 5-10-01
GWorldPtr TPrintView::DrawViewForThumbNail(FSSpec	templateFSSpec)
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now)



// 10-27-03
continue implementation of prompt for group photo
short TGeneralPrintHandler::Print()
short TGeneralPrintHandler::ValidateAllTemplatesForGroupPhoto ()			// 10-24-03
short TGeneralPrintHandler::ValidateForGroupPhotoForTemplate ( FSSpec templateFSSpec, CLongintList_AC	*list)			// 10-27-03
short getNumberOfOverlayGroupPhotoObjectType ( CList_AC *layoutObjectsList, short &count, CLongintList_AC	*aList)		// 10-27-03


// 10-24-03
create validate for group photo to prompt when groupphotos are not present
short TGeneralPrintHandler::ValidateAllTemplatesForGroupPhoto ()			// 10-24-03
short TGeneralPrintHandler::ValidateForGroupPhotoForTemplate ( FSSpec templateFSSpec, CLongintList_AC	*list)			// 10-27-03


create mechanism to show graphic on one up preview when holding down command key
void setCurrentGraphicsOffscreen(GWorldPtr	offscreen)
GWorldPtr getCurrentGraphicsOffscreen()							// 10-24-03
void TOneUpPreviewImage::DoZoomImage ( bool doHighResImage )	// 10-24-03


// 10-22-03
Make mechanism to delete GRoup Photo Files by holding down mouse button over delete all job
change MENU 2000

add command number cDeleteAllFromGroupPhotoFolder

change following functions:
void TBackgroundPrintApp::DoMenuCommand(CommandNumber	aCmdNumber)
void TBackgroundPrintWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 10-21-03

// Fix Apple Event Call
// fix conflict with jump to image editor
myAppleEventUtils.c
OSErr myJumpToBackupAppWithFile(FSSpec	fileToOpen)		// 10-30-00
OSErr	sendOpenFileAppleEventToAppWithAppFSSpec2 ( OSType appSignature, FSSpec	fileToOpen )
OSErr	sendOpenFileAppleEventToAppWithAppFSSpec(OSType	appSignature, FSSpec	fileToOpen, FSSpec	appToOpen)

reprototype MyFindProcess as non-static
FinderLaunch.h
OSStatus MyFindProcess( OSType creator, OSType type, ProcessSerialNumber *outProcess )


// 10-21-03
// release as 9.9b87

// fix .ds_store file problem with cd burning version
void deleteAllFilesInFolder(FSSpec	theFSSpec)


// 10-20-03
// 10-21-03
New Group Photo Mechanism
void TImageFileObject::IImageFileObject(TFile *aFile, float rotation)
void TImageFileObject::MarkAsStaticImage(short	newNum)	// 10-21-02
void TFileOverlayObject::SetCurrentCategory()
void TFileOverlayObject::WriteTo(TStream* aStream) const

void deleteFileInFolder(FSSpec	theFSSpec);		// 10-21-03
void findFileInFolder(FSSpec	*theFSSpec);	// 10-21-03


make a new input pref to determine whether to show all customers or one at a time
bool setMyInputPrefToFactoryDefaults ( tInputPrefPtr ptr )
TInputPreferences::~TInputPreferences()
void TInputPreferences::SetSettings(tInputPrefPtr	ptr)
bool TCameraHandler::IsValidFile(TFile	*aFile)
void TPreviewImageWindow::DoSetupMenus()

dont write customer info file if no underscore is found in file name
OSErr	writeCustomerInfo(FSSpec	tmpFSSpec, tCustOrderPtr	ptr)
OSErr	readCustomerInfo(FSSpec	tmpFSSpec, tCustOrderPtr	ptr)



// 10-17-03
black background for previews
TBlackBackgroundAdorner

still white rectangle around button tried to fix it did not work

// 10-16-03
fixed rotated editable text issue
TBaseTextObject::TBaseTextObject()		// 10-14-02
void TBaseTextObject::Draw4DragAndDrop(TView	*view, float factor, CPoint_AC	topLeftPoint, short	nodeRotation, 
									CPoint_AC	theSize, bool	isColor, bool	isMirror, short	textRotation)
void TBaseTextObject::ResetText(CPoint_AC	topLeftPoint)	// 10-10-01

prevent thumbnails from auto loading when preview pref is off in school mode
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)


// version 9.9b86
// fix zoom factor in special one up mode
void TOneUpPreviewImage::OffsetRect(CPoint_AC	theOffset)
void TOneUpPreviewImage::Prepare4Drawing()

// launch the backup app via a script instead of the alias
// checks for existence of both scripts first

// force the kiosk window the front when refreshing

// disable the resize button from the kiosk window
adlib 1261 and 1243


// 10-15-03
fix issues with two different canvases in one package for chooser printing (add a delay after first one)
short TGeneralPrintHandler::PrintPackage()

fix custom server copy issues with backup folder (formerly All In Pref) that crashed when using Kodak Pro images when
attempting to open colorbalance window and did not open color balance window at all for Kodak TIFF files
bool TBaseKodakProCameraHandler::CanHandleFile(FSSpec	fileSpec)
void TBackupFilesCommand::DoIt()


another fix for save prefs (packages)

// version 9.9b85
fix save and load of print to file prefs in BG and FG
myCopyFileUtils.c


// 10-15-03
fix issues with two different canvases in one package for chooser printing (add a delay after first one)
short TGeneralPrintHandler::PrintPackage()

fix custom server copy issues with backup folder (formerly All In Pref) that crashed when using Kodak Pro images when
attempting to open colorbalance window and did not open color balance window at all for Kodak TIFF files
bool TBaseKodakProCameraHandler::CanHandleFile(FSSpec	fileSpec)
void TBackupFilesCommand::DoIt()


another fix for save prefs (packages)

// version 9.9b85
fix save and load of print to file prefs in BG and FG
myCopyFileUtils.c


// 10-7-02
updated about windows and splash screens (picts 310, 311, 312, 410) for teps-x and teps-processor to have the os-x striped background
updated teps-x main window
updated teps-processor main window
updated utils window
wind#1058
wind#1292
wind#1296
wind#1077


// 10-07-02

// released version b92 to serge for two other customers

// removed some debug messages from 10-06-03

// 10-06-03
try to debug where steve saneto has problem with reading from pc-card



// 9-30-03
Read in all old orders into List before processing
TFile* SaveFilesAsJPEGAndWriteLogFile(FSSpec	fs, tCompileLog		log)
void WriteLog(TFile	*packageLogFile, FSSpec	fs, CStr255_AC newName, TDataList	*dataList)	// changed 9-30-03

create new class TLogRecordObject()
TLogRecordObject::TLogRecordObject()	// 9-30-03
void TLogRecordObject::Set(short fieldNum, CStr255_AC string)	// 9-30-03
CStr255_AC TLogRecordObject::Get(short fieldNum)	// 9-30-03
TDataList *TImporter::ReadLogImportFile()	// 9-30-03
void TImporter::ReadLogFieldsFromRecord(char	dataString[kMaxRecordSize], long	theSize, CSortedList_AC	*newList)	// 9-30-03
ArrayIndex_AC TDataList::GetEqualItemNoLog(CStr255_AC	string, short	fieldIndex)		// 9-30-03
void writeDataToLogFile(FSSpec	tmpFSSpec, TDataList	*data)	// 9-30-03


// 9-29-03
implement processed or all orders mechanism
bool	wasCustomerProcessed(CStr31_AC	customerName)		// 9-29-03
OSErr	markAsProcessed(CStr31_AC	customerName, bool mark)		// 9-29-03
void removeProcessedFilesFromList()	// 9-29-03
void CompileLogFileFromFolder(FSSpec	theFSSpec)

make a mechanism to remove all files without orders from the list to only copy images that actually have orders associated with them
void removeFilesWithoutOrderFromList()	// 9-29-03

make a new window to set options to process all or non-processed files and to ignore file without orders
short GetChoice4(short	*all, short	*ignoreFilesWithoutOrders)		// 9-29-03

 
add view 1362

add creation date to customer info file
OSErr	readCustomerInfo(FSSpec	tmpFSSpec, tCustOrderPtr	ptr)


// 9-26-03
reset yearbook photo when unmarking special image
void TImageFileObject::MarkAsSpecialImage(bool	write)	// 9-8-03

when clicking save when editing database update corrensponding info file if in preview mode
short TImportFileWindow::ReplacePanelData()	// 8-25-03

make new edit current customer option
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)
void TPreviewImageWindow::DoSetupMenus()
bool TPreviewImageWindow::GetCustomerAndEdit()	// 9-26-03

clear yearbook photo folder before starting new batch
void getYearbookPhotosAndProcess(FSSpec	fs)		// 9-18-03
and
Teps-Processor
short 	TBGPrintView::DoSpecialPrintToFile(GWorldPtr	anOffscreen)	// 9-18-03


// 9-12-03
prevent log folders from being in popup list when selecting one folder from main images folder
CList_AC* getSubFolders(FSSpec	theFSSpec)	// 9-11-03


// 9-11-03
ignore records with underscore sign "_" when importing
void TImporter::ReadFieldsFromRecord(char	dataString[kMaxRecordSize], long	theSize, CSortedList_AC	*newList, CLongintList_AC	*orderList)

fix problem with importing more then 20 fields
short TImporter::ReadFieldsFromRecord2(char	dataString[kMaxRecordSize], long	theSize, CSortedList_AC	*newList)		// 9-11-03
TDataList *TImporter::GetFirstTenRecords(short	&fieldCount)		// 9-11-03
void TImportListView::SetImporter(TImporter	*anImporter, bool	prev)

create function to get all subfolder in mainimages folder to create popup choice
CList_AC* getSubFolders(FSSpec	theFSSpec)	// 9-11-03

do not allow for underscore sign "_" when entering custoimer id
bool setCurrentStudent(CStr255_AC	theString)


// 9-10-03
skip empty records when importing
void TImporter::ReadFieldsFromRecord(char	dataString[kMaxRecordSize], long	theSize, CSortedList_AC	*newList, CLongintList_AC	*orderList)

read in first 10 records of import file to check data, use new mechanism to prevent funky characters
void TImporter::ReadFieldsFromRecord2(char	dataString[kMaxRecordSize], long	theSize, CSortedList_AC	*newList)	// 9-10-03
TDataList *TImporter::GetFirstTenRecords()	// 9-10-03
void TImportListView::DoPostCreate(TDocument	*aDocument)
void TImportListView::SetImporter(TImporter	*anImporter, bool	prev)
void TImportListView::CloseImportFile()


// 9-9-03
fix compile log file issues
TFile* SaveFilesAsJPEGAndWriteLogFile()
void CompileLogFileFromFolder(FSSpec	theFSSpec)

fix a bug that made it not possible to select an item from popup in open existing school
bool getCurrentHighSchoolName(CStr255_AC	&school, bool	&choseExisting)		// 8-15-03

default to desktop folder for impost files
bool TImporter::ChooseImportFile()

if no records in database give appropriate message
OSErr TImporter::OpenImportFile()

if use database pref is on but no database open give warning and present a choice to go to the open database window
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)

change prompt string to  "Please Select a File To IMPORT"
bool TImporter::ChooseImportFile()

// 9-8-03
// added back grab image from kodak pdc camera control menu item
OSErr TCameraHandler::GrabImage()
OSErr TKodakCameraHandler::GrabImage()	// 9-8-03
DCErr  TKodakTIFFFileHandler::GrabImage()		// 9-8-03
CameraHandler.h
KodakCameraHandler.h
KodakTiffFileHandler.h

// install kodak camera control if input is kodak direct connect
TPreviewImageWindow::~TPreviewImageWindow()
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)

// add date/time warning if autodelete sitting folders is on
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)


// 9-8-03
implement yearbook photo mechanism
CStr31_AC	getYearbookPhotoFileName(CStr255_AC	theStudent)		// 9-8-03
TImageFileObject::TImageFileObject()
void TImageFileObject::MarkAsSpecialImage(bool	write)	// 9-8-03
	bool 	IsSpecialImage() { return fSpecialImage; };		// 9-8-03
void TThumbNailView::Draw(const CViewRect	&area)
void THideNameView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

// 9-5-03
// added warning message when expected folders are NOT found at start of teps-x
void  TTeps2000Application::ITeps2000Application()


// 9-05-03
create find customer
bool TPreviewImageWindow::FindCustomer()	// 9-5-03
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)
void TPreviewImageWindow::DoSetupMenus()


removed close box for object list window

fixed bug that did not display template size in info window when opening existing template
void gotoTemplateEditor(IDType	layoutType, FSSpec	theFileSpec, TWindow	*returnWindow)

// 9-04-03
fix clicking Cmd 3 multiple times
TPreviewImageWindow::TPreviewImageWindow()
bool TPreviewImageWindow::GetNextCustomer()	// 8-28-03
bool TPreviewImageWindow::GetPreviousCustomer()	// 8-29-03

fixed ??? for customer name when selecting customer without images
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)

display first image when found next or previous customer
bool TPreviewImageWindow::SetForNewCustomer(CStr255_AC	newCustomer)	// 8-29-03


AUTO DELETE SITTING FOLDERS
add two fields to tPreviewPrefStruct
	autoDeleteSittingFolders
	daysToDeleteSittingFolders
changed functions:
Boolean setMyPreviewPrefToFactoryDefaults ( tPreviewPrefPtr ptr )
void validatePreviewPrefs ( tPreviewPrefPtr ptr )	// 6-18-01
TPreviewWindowPrefs::~TPreviewWindowPrefs()
void TPreviewWindowPrefs::SetSettings(tPreviewPrefPtr		ptr)
void TTeps2000Application::StartDirectConnectWithoutCard()

added MENU 1029 for number of days

// 9-03-03
AUTO DELETE SITTING FOLDERS
void deleteOldSittingFolders(short	numOfDays)	// 9-3-03

create new functions for yearbook photo stuff
CStr31_AC	getYearbookPhotoFileName()		// 9-3-03
OSErr	setYearbookPhotoFileName(CStr31_AC	fileName)		// 9-3-03
void TPreviewImageWindow::DoSetupMenus()
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)


// 9-02-03
update pref file form package file just in case we need it
void updatePackageFileSave2PrefFile()

bug in database stuff
OSErr FindStringAndOpenDbWindow(CStr255_AC	&string, CStr255_AC	&dbName)		// 8-18-03


// 8-28-03
// 8-29-03
implement exact match for customer ID
bool TCameraHandler::IsValidFile(TFile	*aFile)
Boolean setMyDatabasePrefsToFactoryDefaults ( tDatabasePrefsPtr ptr )
TDatabasePreferences::~TDatabasePreferences()
void TDatabasePreferences::ViewsEnable(bool enable)
void TDatabasePreferences::SetSettings(tDatabasePrefsPtr ptr)
OSErr FindStringAndOpenDbWindow(CStr255_AC	&string, CStr255_AC	&dbName)		// 8-18-03


make preview work for school photograpy mode, on entering bring up first student Command-3 will move to next student
	Command-2 will go to previous
CStr255_AC	getNextCustomerFromInfoFile(CStr255_AC	student, FSSpec	theFSSpec)	// 8-28-03
bool TCameraHandler::IsValidFile(TFile	*aFile)
void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)
void TPreviewImageWindow::DoSetupMenus()
bool TPreviewImageWindow::GetNextCustomer()	// 8-28-03
bool TPreviewImageWindow::GetPreviousCustomer()	// 8-29-03
bool TPreviewImageWindow::SetForNewCustomer(CStr255_AC	newCustomer)	// 8-29-03
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)
void TTeps2000Application::DoNewPreviewImages(bool chooseOne)

CommandNumber.h
const CommandNumber		cGetNextCustomer			= 1231;	// 8-28-03
const CommandNumber		cGetPreviousCustomer		= 1232;	// 8-29-03

implement set dat time for kodak DCS Camera
unsigned long ConvertLongToStiffKodak ( unsigned long myMacSeconds, unsigned char *stiffKodakSeconds );	// 8-28-03
DCErr  TKodakTIFFFileHandler::SetCameraTimeToThisMacTime ()	// 8-28-03
void RegisterMacAppClasses()

fix bug to set current filespec when no files in directory
void TTeps2000Application::DoNewPreviewImages(bool chooseOne)


// 8-27-03
fix bug with enabling/disabling find tab
void TImportFileWindow::AdjustView()

if find string is greater than any record go to last record
bool TImportFileWindow::HandleEventTab2 ( IDType sourceID )

make UI for which camera to search for first pro or DCS camera
add field cameraSearchOrder to tInputPrefs
bool setMyInputPrefToFactoryDefaults ( tInputPrefPtr ptr )
void TInputPreferences::DoPostCreate(TDocument	*aDocument)
void validateInputPrefs(tInputPrefPtr 	ptr)	// 2-5-01
void TInputPreferences::SetSettings(tInputPrefPtr	ptr)
void TInputPreferences::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
OSErr TKodakCameraHandler::GetFindCameraSortOrder ( void )


// 8-26-03
disable tabs when in add mode as soon as you start typing
void TImportFileWindow::AdjustView()
bool TImportFileWindow::HandleEventTab3 ( IDType sourceID )

when hitting cancel from customer order window give message that you have to enter valid id or else return to main
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)

// 8-25-03
making different improvements to database utility
file: Import files.cp
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)


// 8-22-03
making different improvements to database utility
file: Import files.cp

fix bug in print summary to chooser
void TOffscreenPicture::SetDrawForPrinting(bool		forPrinting)		// 8-22-03
void TOffscreenPicture::Draw(const CViewRect	&area)
void TOrderSummaryWindow::SetupForPrinting(TView	*printView)

make TEditTextObject with use database work correctly when printing
void TEditTextObject::GetStringToDraw(CStr255_AC	&theString, bool	forPrinting)
void TNodeViewObject::FindImageInNodeAndSetFSSpec(FSSpec	imageFSSpec, TStream	*aStream, short curImage)
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now)

// 8-21-03
making different improvements to database utility
file: Import files.cp

// 8-20-03
making different improvements to database utility
file: Import files.cp

allow database access from utilities window
void TUtilitiesWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	/*event*/)

// 8-19-03
making different improvements to database utility
file: Import files.cp

// 8-18-03
store import file name in customer info file
bool FindStringAndOpenDbWindow(CStr255_AC	string, CStr255_AC	&dbName)		// 8-18-03
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)

new mechanism of creating and/or opening existing school
bool TImporter::SpecifyImportFile(CStr255_AC	schoolName)			// 8-18-03

// 8-15-03
create new funtion to backup current school database to school database folder
void TImportFileWindow::Backup()	// 8-15-03

backup current school database on return to main
~TPreviewImageWindow()

new mechanism of creating and/or opening existing school
bool TImportFileWindow::HandleEventTab4 ( IDType sourceID )
bool getCurrentHighSchoolName(CStr255_AC	&school, bool	&choseExisting)
CList_AC* getFilesInFolder(FSSpec	theFSSpec)	// 8-15-03


// 8-13-03
sort database on last find field
TDataList::TDataList()		// 8-13-03
void TDataList::SetSortField(short	theField)		// 8-13-03
CompareResult_AC TDataList::Compare(const void*  item1,
								  const  void*  item2) const
ArrayIndex_AC TDataList::GetEqualItemNoUnique(CStr31_AC	string, short	fieldIndex)		// 8-13-03
bool TImportFileWindow::HandleEventTabCommon ( IDType sourceID )


// 8-12-03
fix a bug that made teps crash when doing color balance for 560 or 660 images
void TColorBalanceView::DoPostCreate(TDocument	*aDocument)
IDType TKodakTIFFFileHandler::DoColorBalance()

default to school database folder when choosing import file and exporting
bool TImporter::ChooseImportFile()
void TImportFileWindow::ExportData()	// 8-8-03
OSErr mySaveImportFile(const FSSpecPtr defaultLocationfssPtr, CStr255_AC	defaultName, OSType	saveFileType, CStr255_AC	title)	// 8-12-03
OSErr myChooseImportFile(const FSSpecPtr defaultLocationfssPtr, OSType	fileType, CStr255_AC	message)		// 8-12-03
pascal void myOSXEventProc(NavEventCallbackMessage callBackSelector,
                            NavCBRecPtr callBackParms, void* callBackUD)	// 8-12-03
void setDefaultFolder(FSSpec	*myFS)		// 8-12-03

save and load label templates
bool TImportFileWindow::HandleEventTab4 ( IDType sourceID )
void TLabelListView::InitializeLabelView()
void saveLabelsAsTemplate(TWindow	*aWindow, bool	ask4FileName)		// 8-12-03
void loadLabelsFromTemplate(TWindow	*aWindow, bool	ask4FileName)		// 8-12-03
void loadLabelsFromTemplateToDataList(TStringArray	*dataList)		// 8-12-03


// 8-11-03
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)
save found record to customer info file when clicking OK
created new file customerorder.c and customerorder.h

create school database folder gSchoolDbFolderFSSpec
void  TTeps2000Application::InitializeApplication()


// 8-8-03
change database import window from float to modal window type
change resource 'view' 1286
void TImportFileWindow::DoPostCreate(TDocument	*aDocument)

allow data to be exported out of utility so added records can be saved
bool TImportFileWindow::HandleEventTab4 ( IDType sourceID )
short TImportFileWindow::AddPanelData()	// 8-8-03 change from void to short
void TImportFileWindow::ExportData()	// 8-8-03
void TestImportFileWindow()		// 8-8-03


// 8-8-03
//compile with newest july 2003 sdk headers
// version 9.9b81


// 8-8-03

// FOR PDC_SDK_CARBON Cameras only

// update the acquire status message immediately
void TKodakCameraHandler::SaveImage()		// 3-12-03

// after finding camera - delete images in memory of camera body
OSErr TKodakTIFFFileHandler::FindDCSCamera()		// 6-2-03

// when images are deleted from memory in camera body, an event will get generated
// need to check that fLastImage = -1
// otherwise it will attempt to transfer a new image
bool TKodakTIFFFileHandler::Check4NewFiles()	// 6-2-03

// always transfer image index 0
// delete the image index 0 after successful transfer to cpu
bool TKodakTIFFFileHandler::CopyImageToFolder(FSSpec	*theFSSpec, bool	overwriteExisting)	// 6-3-03


// 8-8-03
// search for all kodak cameras
seachForOlderKodakCamerasOnly	= false
OSErr TKodakCameraHandler::FindCamera()		// 3-12-03



// 8-7-03

// prevent .ds_store file from calling AddFilesToList3 forever
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01

// setup idle frequency - to 30ticks
long TTEPSFileHandler::GetIdleFreq()

// declare as virtual
class TTEPSFileHandler
	virtual long TTEPSFileHandler::GetIdleFreq()



// 8-6-03
// setup maximum images to be shot to tiff camera
DCErr TKodakTIFFFileHandler::SetForMemoryStorage()

// 
OSErr TKodakTIFFFileHandler::Check4NewFiles()	// 6-2-03

create new funtion to a string after entering ID
bool FindStringAndOpenDbWindow(CStr255_AC	string)		// 8-6-03


// 8-5-03
update drag and drop view with database fields
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03


// 8-4-03

// import tab delimited file for school mode changes

create new class TDatabasePreferences and new structure tDatabasePrefs
new view resource 1076 and new MENU 2039

multiple changes in PreferencesWindow.cp (constants) for new Database Prefs
multiple changes in Teps1000Preferences.cp (constants) for saving and writing Database Prefs
new file DatabasePrefs.cp and DatabasePrefs.h

// allow visual check of data after student ID is entered
TCameraHandler::GetCurrentStudent()
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)

automatically open last opened database
AliasHandle	gDatabaseAliasHandle = nil;							// 8-4-03
bool TImporter::ChooseImportFile()
bool TImporter::CheckForImportFile()							// 8-4-03
void TImportFileWindow::DoPostCreate(TDocument	*aDocument)
void TImportFileWindow::LoadData()		// 8-4-03
void TImportFileWindow::SetPanelData(short desiredIndex, IDType	theView)	// 8-4-03
TView* TImportFileWindow::GetCurrentPanel ()

allow for comma delimited and tab delimited
void TImporter::ReadFieldsFromRecord(char	dataString[kMaxRecordSize], long	theSize, CSortedList_AC	*newList, CLongintList_AC	*orderList)
TStringArray *TImporter::GetNextRecord(bool	prev)

// 7-29-03
// version 9.9b80
// release nostalgia-x to bill

adlib changes
for BOTH TEPS-X and NOSTALGIA-X
view #1114 - change wording to "Sepia Conversion"
view #1045 - change wording to "Sepia Conversion"
wind #1076 - change wording to "Sepia Conversion"

// make sure 'cpia' checkbox is dimmed if not from main menu
void TCanvasPrefs::ViewsEnable(bool enable)
void TPreferencesListView::DisableViews(short	theNum)


// 7-29-03
// make sepia changes to support sepia on nodes
void TDropPreviewImage::Rotate(CommandNumber	aCmdNumber)
void TDropPreviewImage::ReloadImage()
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
GWorldPtr TDropPreviewImage::GetOriginalPreviewImage()
void TDropPreviewImage::SetDropImageSpecs(bool	isColor, bool	isMirror, short markedImageNumber, bool	isSepia) // 7-29-03
void TDropView::CheckFirstDrag(TDropPreviewImage	*anImage)
GWorldPtr TDropView::Draw4DragAndDrop(TView	*theView, CPoint_AC	topLeftPoint, short	rotation, bool	isColor, 
											bool isMirror, CStr31_AC	theNodeFileName, short markedImageNumber, bool	isSepia)// 7-29-03
void TFileOverlayObject::Draw4DragAndDrop(TView	*view, float factor, CPoint_AC	topLeftPoint, short	rotation, 
									CPoint_AC	theSize, bool	isColor, bool	isMirror, bool	isSepia)			// 7-29-03
bool TImageObject::Draw4DragAndDrop(TView	*view, short	dpi, CPoint_AC topLeftPoint, short rotation, bool	isColor, bool isMirror, 
										CStr31_AC nodeFile, CPoint_AC	theSize, short markedImageNumber, bool	isSepia)	// 7-29-03
GWorldPtr TOverlayObject::ApplySettingsToOffscreen(GWorldPtr anOffscreen)
void TNodeViewSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TNodeViewSettingsWindow::SetNodeViewObject(TNodeViewObject	*anObject)

void TNodeViewObject::Set(CNodeDesc		*nodeDesc)
void TNodeViewObject::Get(CNodeDesc		*nodeDesc)
void TNodeViewObject::INodeViewObject(const CViewRect& itsBounds, FSSpec	fileFSSpec, TView	*aView)
void TNodeViewObject::Draw4Preview(GWorldPtr	outputOffscreen)

TEPS-SPOOLER
Boolean TNodeViewObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)
void TNodeViewObject::ReadFrom(TStream	*aStream)


// 7-28-03
// make sepia changes to support sepia on nodes
GWorldPtr TNodeViewObject::NodeFile2DragAndDropView(FSSpec	fileSpec, TView	*theView, CPoint_AC	topLeftPoint)
bool TNodeViewObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi, TView	*theView)

fix problem with white lines when using back color
bool TBackColorObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
TEPS-SPOOLER
Boolean TBackColorObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)


// 7-18-03
// change scale of sepia prefs from +/-32 to +/-100
Boolean setMySepiatonePrefToFactoryDefaults ( tSepiatonePrefPtr ptr )
bool ConvertOffscreenToSepia ( GWorldPtr srcOffscreen, myImageColorAdjustInfo settings, GWorldPtr dstOffscreen )


// 7-17-03
// remove debug from 7-9-03
// created new function for applying new sepia conversion
bool ConvertOffscreenToSepia ( GWorldPtr srcOffscreen, myImageColorAdjustInfo settings, GWorldPtr dstOffscreen )


// 7-14-03
// fix slow dragging and zooming in special one up mode
void TOneUpPreviewImage::Prepare4Drawing()



// 7-22-03
create new function to jump to image editor with right rotation and jump back to TEPS-X correctly
void convertFileAndJump2ImageEditor(TImageFileObject	*anObject)		// 7-22-03

call it in:
void THideNameView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TPreviewImage::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 7-21-03
write rotation to properties file immediately after rotating in thumbnail bar
void TImageFileObject::Rotate(CommandNumber	aCmdNumber)

create new funtion:
void applyEmbeddedProfile(GraphicsImportComponent theGI, GWorldPtr	newGWorld)

call it in:
GWorldPtr getGWorldFromFileSpec(FSSpec	theFSSpec)	// 7-29-02
GWorldPtr getGWorldFromFileSpec(FSSpec	theFSSpec, short	&resolution)	// 1-2-03


// 7-16-03 
add function to apply embedded profile to offscreen
CMError myMatchOffscreenWithHandle ( GWorldPtr	offscreen, Handle	inputData )	// 7-16-03

add profile if embedded
GWorldPtr getGWorldFromFileSpec(FSSpec	theFSSpec, short	scaleFactor, CPoint_AC &fileSize)	// 9/24/02

create new class TSharpenManager


// 7-14-03
// 7-15-03
support passing profile handle instead of FSSpec for Kodak Looks
changed functions:
KPDCStatus TBaseKodakProCameraHandler::ColorProcessImage48 ( unsigned char *imageData, KPDCImageRef theImage, long desiredWidth, long desiredHeight )
KPDCInt32 TBaseKodakProCameraHandler::GetLook(KPDCImageRef &theImageRef)		// 5-6-03

new functions:
Handle TBaseKodakProCameraHandler::GetLookData(KPDCImageRef &theImageRef)		// 7-15-03
KPDCInt32 TBaseKodakProCameraHandler::GetLookProfileName(CStr255_AC	&profileName)		// 7-14-03
KPDCInt32 TBaseKodakProCameraHandler::GetLookFromProfileString(CStr255_AC	profileName)	// 7-15-03
CStr255_AC	TBaseKodakProCameraHandler::GetProfileNameFromDataHandle(Handle	theData)	// 7-15-03
CMError myMatchBitmapWithHandle ( unsigned char *imageData, long width, long height, 
									FSSpec deviceLinkProfFSSpec, Handle	inputData, FSSpec	outputProfFSSpec )	// 7-15-03


enable profile in list if file contains this profile (even if not in either folder)
void TClickBalanceView::SetHandler(TBaseKodakProCameraHandler	*aHandler, FSSpec	*spec)
KPDCInt32 TBaseKodakProCameraHandler::GetLookProfileName(CStr255_AC	&profileName)		// 7-14-03


// 7-3-03
// copied files from edwin for kodak colorsync stuff
// also copied resource MENU 2022


// 7-1-03
// really fix this
// check for either "TEPS-" or "TEPS" for valid teps spooler folder
// otherwise, will give annoying message
void TBackgroundPrintApp::IBackgroundPrintApp()


// 7-1-03
// release as b77 for fuji 3500 printer

// 6-30-03
// check for either "TEPS-" or "TEPS" for valid teps spooler folder
// otherwise, will give annoying message
void TBackgroundPrintApp::IBackgroundPrintApp()

// fix saving prefs for 3500
void TTeps1000Preferences::WritePrefs() const
	SaveStruct(&gCurPictrography3500ColorAdjSettings, kFujiPict3500Prefs, "Pictrography3500 Prefs", sizeof(myFujiColorAdjustInfo), kPrefRsrcType);//6-30-03

// 6-25-03
// release as b76 for bill hallada

// 6-25-03
// when saving images to cropping folder, save crop info and zero out shift/zoom info
void TTEPSFileHandler::SaveAsCropped()	// 4-22-03

// fix issue when user clicks too many times on >> or << buttons in thumbnail view
(caused thumbnail to have erroneous index number and/or image in thumbnail view
void TN_UPThumbNailView::DoPostCreate(TDocument	*aDocument)
void TN_UPThumbNailView::ScrollTo(IDType	theType, bool OptionKeyDown)


// 6-24-03
added faster thumbnail removal
void TTEPSFileHandler::SavePrintedFiles(bool	isPreview)
add two constants in CommandNuber.h
const CommandNumber cStopLoadPage			= 1351;	// 6-24-03
const CommandNumber cStartLoadPage			= 1352;	// 6-24-03

void TN_UPThumbNailView::DoPostCreate(TDocument	*aDocument)
void TN_UPThumbNailView::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)

add bool fLoadPage to class definition

// 6-24-03

// Need to fix TIFF camera with prompt to save option

// NEED to make sure that user has correct version of
//		PDC_SDK_CARBON.Lib
//		948KB / Created 6/12/02 / no modification date
//		version 2.1.1b6.9

// make DCS330 camera work tethered to teps.



// 6-23-03
// release as b75
// release nostalgia-x to bill ashley
// release teps-x to bill halada

// update to new nostalgia logo


// 6-20-03
// added "****" to bundle to allow all files to be accepted by teps-x in finder
// change to b75

// change url to be triprism.com
void DebugInternetConfig ( void )

// matched up changed from 6-18-03 project given to bob messina (see below)

// do not allow auto load of kodak default settings when in start sitting
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01
			// 6-20-03	ApplyColorSettings(&dstFSSpec);		// 6-17-03

// fix assigment problem
void TPreviewImage::ReloadImage()

// allow ability to open all images in a folder dropped onto the app icon
void TTeps2000Application::PreviewFromDirectory(CList_AC* aFileList)	// changed to support dropping folders on it 6-20-03



// 6-20-03
if no look profile avaiable use the atcapture attribute if avaiable
KPDCInt32 TBaseKodakProCameraHandler::GetLook(KPDCImageRef &theImageRef)		// 5-6-03

use better resize if preview image is smaller then view size
void TOffscreenPicture::Draw(const CViewRect	&area)

// 6-19-03
use better resize for preview images
TPreviewImage::TPreviewImage()
TPreviewImage::~TPreviewImage()
void TPreviewImage::Draw(const CViewRect	&area)
void TPreviewImage::ReloadImage()
void TPreviewImage::ResetView()
void TPreviewImage::Rotate(CommandNumber	aCmdNumber)
void TCameraPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)
void TCameraPreviewImage::RedrawImageWithNewColorSettings(myImageColorAdjustInfo	colorAdjustSettings)



// 6-18-03
fix a bug that did not allow images to come in when in camera hot folder mode confirm save
bool	TCameraHandler::ConfirmSaveForHotFolder(FSSpec	*saveFSSpec, FSSpec	*dstFSSpec)	// 6-5-03

short ALRT "Do you want to save a new default" when clicking set default for kodak images
void TClickBalanceWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TColorBalanceWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	/*event*/)

fix another bug with saving color settings to kodak images coming in (hot folder or pc-card)
TKodakTIFFFileHandler::TKodakTIFFFileHandler()


// 6-17-03
apply kodak settings when new images come in
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01
			ApplyColorSettings(&dstFSSpec);		// 6-17-03

changed funtions
bool TCameraHandler::CopyImageToFolder(FSSpec	*theFSSpec, bool	overwriteExisting)
KPDCStatus TBaseKodakProCameraHandler::OpenFileAndDoAllocation(FSSpec	*fileSpec)
TKodakTIFFFileHandler::TKodakTIFFFileHandler()

create new funtions:
void TCameraHandler::ApplyColorSettings(FSSpec	*fileSpec)		// 6-17-03
void TKodakCameraHandler::ApplyColorSettings(FSSpec	*fileSpec)		// 6-17-03
KPDCStatus TBaseKodakProCameraHandler::ApplyColorSettingsFromPref()	// 6-17-03
DCErr TKodakTIFFFileHandler::OpenImage(FSSpec	*theFSSpec)		// 6-17-03
DCErr TKodakTIFFFileHandler::ApplyColorSettingsFromPref(FSSpec	*theFSSpec)	// 6-17-03


confirm save for hotfolder should only work for camera mode
bool	TCameraHandler::ConfirmSaveForHotFolder(FSSpec	*saveFSSpec, FSSpec	*dstFSSpec)	// 6-5-03


// 6-20-03 copied from steve's readme file
// 6-18-03
// release as v9.9b74
// for bob messina

// make preview to external video monitor work for all mode except drag and drop
bool	TCameraHandler::ConfirmSaveImage(bool	&saved, FSSpec	*saveFSSpec)

// do not prompt if pc-card copy mode
bool	TCameraHandler::ConfirmSaveForHotFolder(FSSpec	*saveFSSpec, FSSpec	*dstFSSpec)	// 6-5-03
	if ( getMyInputPrefs()->kind!=kCamera )	return true;	// 6-18-03

// get camera hot folder to show new images if external video option is on
bool	TCameraHandler::ConfirmSaveForHotFolder(FSSpec	*saveFSSpec, FSSpec	*dstFSSpec)	// 6-5-03
		return true;	// 6-18-03 make camera hot folder show new image with external video option on

// force load of external video image when image is acquired/saved  (not for drag n drop mode)
void TKodakCameraHandler::SaveImage()		// 3-12-03
void TPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
void TCameraPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,



// 6-17-03
// changed files
KodakProCameraHandler.cp
KodakProCameraHandler.h
KodakCameraHandler.cp
KodakCameraHandler.h

// allow existing images in sitting folder to show up when resuming with tethered kodak camera
OSErr TKodakCameraHandler::ProcessFunction6()	// 6-17-03


// fix bad acquire problem with 760 camera after attempting to get preview from camera body
GWorldPtr TKodakPro4SLRCameraHandler::GetImageFromCameraBody(KPDCUInt16	resID)

// had to make some private members public
KodakProCameraHandler.h

// define as virtual in class TBaseKodakProCameraHandler
virtual	GWorldPtr	GetImageFromCameraBody(KPDCUInt16	resID);			// 6-17-03

// add to class  TKodakPro4SLRCameraHandler : public TBaseKodakProCameraHandler
GWorldPtr	GetImageFromCameraBody(KPDCUInt16	resID);			// 6-17-03

// change to version b74


// 6-17-03
// release as v9.9b73


// 6-17-03
// fix possible bad free of a freed block
short TSpoolerPrintView::PrepareForPrinter()


// 6-16-03
// fix possible memory leak when saving job file to teps-print center
bool TSpoolerPrintView::WriteStructureAndOffscreenToFile(tPrintInfoStruct	*printInfo, GWorldPtr	anOffscreen)

// make sure to check for valid kodak file properly
bool TKodakCameraHandler::IsValidFile(TFile	*aFile)



// 6-11-03
// fix to get 14n to acquire correctly with correct color and rotation
// fix so that teps does not infinitely acquire the same image after user clicks on cancel
//		from the prompt to save


// 6-11-03
// try to make direct connect with dcs camera work with prompt to save option on


// 6-9-03

call setMyCDWritePrefToFactoryDefaults when creating new pref file
void TTeps1000Preferences::ITeps1000Preferences()

set default for nameType
Boolean setMySaveFilePrefToFactoryDefaults ( tSaveFilePrefPtr	ptr)

create new function for prompt before saving mechanism
GWorldPtr TBaseKodakProCameraHandler::GetPreviewImageFromCameraNew(FSSpec	*saveFSSpec)	// 6-9-03
GWorldPtr TBaseKodakProCameraHandler::GetImageFromCameraBody(KPDCUInt16	resID)		// 6-9-03



// 6-4-03
// 6-5-03

add support for prompt to save for dummy camera handler
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01
bool	TCameraHandler::ConfirmSaveForHotFolder(FSSpec	*saveFSSpec, FSSpec	*dstFSSpec)	// 6-5-03


fix a bug that made rename file window appear twice
void TCameraPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)


Fix deactivation of window bug when using spooler
bool  TNamedStdPrintHandler::Print(CommandNumber itsCommandNumber)

Force activate of preview window
short DoPrintPreview2 ( GWorldPtr anOffscreen, short resID, bool one2One, CStr255_AC	fileName)

// 6-4-03 sent to edwin

// 6-4-03

added support for Kodak DCS Direct connect
bool TKodakCameraHandler::Check4NewFiles()		// 3-12-03


// need to close the profile calling the search function
void MyProfileSearch(OSType		profileClass, FSSpec	*theFSSpec, bool useMacStandGamma, CStr255_AC	&profileDescription)
bool FindProfile(OSType		profileClass, FSSpec	*theFSSpec, Str255	theProfileName)
CStr255_AC TProfileListView::GetText(const GridCell& aCell) const


// 6-3-03
// fix teps processor to NOT rotate sony 8x10 300dpi print jobs
// add case kSony8800dpi300
bool TSpoolerPrintView::WriteStructureAndOffscreenToFile(tPrintInfoStruct	*printInfo, GWorldPtr	anOffscreen)

added funtions for Kodak DCS Direct connect
bool TKodakTIFFFileHandler::CopyImageToFolder(FSSpec	*theFSSpec, bool	overwriteExisting)	// 6-3-03

// 6-2-03

added funtions for Kodak DCS Direct connect
OSErr TKodakTIFFFileHandler::FindDCSCamera()		// 6-2-03
OSErr TKodakTIFFFileHandler::initializeForDCS()	// 6-2-03
bool TKodakTIFFFileHandler::Check4NewFiles()	// 6-2-03


// fix prompt for images (esp 14n images) from operations window
void TSelectImageWindow::DoPostCreate(TDocument	*aDocument)



// 5-30-03
// release as beta
// v9.9b72

// 5-29-03
do not show progress window when doing slide show in preview window
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TOneUpPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03
void TCameraPreviewImage::PreviewImage(TImageFileObject	*anObject, bool showProgress)	// 5-29-03

fix bug in drag and drop mode where page up did not work correctly with one-up
void TDropView::LoadPreviousPage()

fix a bug where it showed a 2nd slide control window when hitting the enter key wehn in slide show mode
(in preview window)
void TSlideShowBehavior::DoKeyEvent(TToolboxEvent* event)

fix a bug with auto node when creating one and not saving it and closing the window
(gave disk error)
void TDesignWindow::Show(bool state, bool redraw)	// 8-8-00


make resource change to auto node and image object view (add down and across)

make kSonyUPDR100item only portrait
bool TSpoolerPrintView::WriteStructureAndOffscreenToFile(tPrintInfoStruct	*printInfo, GWorldPtr	anOffscreen)

make stamps do auto fit
void TStampObject::DrawContent(TScalableView* itsView)
bool TStampObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)

TEPS-SPOOLER
void TStampObject::DrawTextOnOffscreen(CStr255_AC	textString, CRect_AC theRect, float scalingFactor, short dpi)
Boolean TStampObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)

// 5-28-03
fix bug with loading marked images when unmark after printing is on
bool TDropView::CreateJobFile4BackgroundPrinting(bool now)

reset current page counter after print when umark after printing is on
void TDropView::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)


// 5-23-03
prevent quit when queue enabled
void TBackgroundPrintApp::DoScriptCommand(CommandNumber aCommandNumber,
								  TAppleEvent* message,
								  TAppleEvent* reply)


// 5-21-03
// 5-22-03
set status to idle when resuming teps-processor
void TPrintBGBehavior::EnableBackgroundPrinting(Boolean enable)

add third column (==profile class ->mntr, prtr or scnr) to colorsync profile list
CStr255_AC TProfileListView::GetText(const GridCell& aCell) const
void MyProfileSearch(OSType		profileClass, FSSpec	*theFSSpec, bool useMacStandGamma, CStr255_AC	&profileDescription)

change view 1088

add flushing and additional checking befor renaming processed file
bool TSpoolerPrintView::WriteStructureAndOffscreenToFile(tPrintInfoStruct	*printInfo, GWorldPtr	anOffscreen)

fix using template with different Image objects some with high res some with preview size
GWorldPtr GetCurrentImageGWorldPtr(FSSpec	imageFSSpec, float rotation, myImageColorAdjustInfo colorSettings, short	imageSize)
void SetCurrentImageGWorldPtr(GWorldPtr	theImage, FSSpec	imageFSSpec, float rotation, myImageColorAdjustInfo colorSettings
								, short	imageSize)	// 5-22-03
GWorldPtr GetCurrentImageGWorldPtr(short imageNum, float rotation, myImageColorAdjustInfo colorSettings, short	imageSize)
GWorldPtr GetCurrentImageGWorldPtr(short imageNum, float rotation, short	imageSize)
void SetCurrentImageGWorldPtr(GWorldPtr	theImage, short	imagenum, float rotation, myImageColorAdjustInfo colorSettings,
									short	imageSize)// 5-22-03
void SetCurrentImageGWorldPtr(GWorldPtr	theImage, short	imagenum, float rotation, short	imageSize)
bool TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
Spooler
bool TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)

no message when rotating image in node when not possible
void TImageSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
match popup action (choosing rotation) when doing node in template rotation
void TNodeViewSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

fixed a bug that did not rotate Kodak 660 image correctly in Processor
GWorldPtr	ReadFile2(TFile	*aFile, short	imageSize, float	imageRotation, bool	&wasRotated)	// 11-19-01


fix stop queue button
void TPrintJobTaskManager::DoError(short	theErr)


// 5-20-03
fixed a bug that did not rotate high res 14N images 
GWorldPtr TKodakCameraHandler::GetFullSizeImage()
GWorldPtr TKodakProBackCameraHandler::GetImage(FSSpec	*fileSpec, KPDCUInt16	resID, bool	&wasRotated)	// 11-14-01


add a button to spooler when error occurs to stop the queue
void TPrintJobTaskManager::DoError(short	theErr)

fix last kelvin setting problems
void TClickBalanceWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TClickBalanceView::SetKelvinSliders(short	which)	// 5-19-03


// 5-19-03
make more kelvin temperature changes
void TClickBalanceView::SetKelvinSliders(short	which)	// 5-19-03
void TClickBalanceView::SetHandler(TBaseKodakProCameraHandler	*aHandler, FSSpec	*spec)

create new function for 14N files to speed up high res preview
GWorldPtr TKodakPro4SLRCameraHandler::GetImage(FSSpec	*fileSpec, KPDCUInt16	resID, bool	&wasRotated)	// 5-19-03
also allow for cancel
bool checkForCancel()

// 5-16-03
implement Kelvin Balance for Kodak DCR images
void TClickBalanceView::SetHandler(TBaseKodakProCameraHandler	*aHandler, FSSpec	*spec)
	bool		GetKelvinEnabled()  { return fKelvinEnabled; };	// 5-16-03
KPDCStatus TBaseKodakProCameraHandler::GetKelvinBalanceID(KPDCUInt16 		kelvinSettings[3])		// 5-16-03

set memoryfullDelete to true to grab the maximum number of images
OSErr	TBaseKodakProCameraHandler::FindCamera()

prevent aliases from being reset when auto create folder is off
void TBackgroundPrintApp::IBackgroundPrintApp()
	createLocalSpoolerFolder
void  TTeps2000Application::InitializeApplication()
	createLocalSpoolerFolder	
	createMainFolder
	createSpecialFolder	
	
// 5-15-03
fix extension for JPEG files problem
CStr255_AC	getExtensionFromFileType ( short formatType )


// 5-13-03
do more error handling for writing processed file
bool TSpoolerPrintView::WriteStructureAndOffscreenToFile(tPrintInfoStruct	*printInfo, GWorldPtr	anOffscreen)

create new function
UInt64 getAvailableHardDiskSpace(short	refNum)	// 5-13-03


// 5-12-03
fix some bugs that made images not come in when reading from pc-card
TDummyCameraHandler::TDummyCameraHandler()
OSErr TDummyCameraHandler::ProcessFunction7()
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01

fixed meta data problem
KPDCStatus TBaseKodakProCameraHandler::SetMetaData(KPDCImageRef &theImageRef, tMetaData	*data)	// 9-25-02

use thumbnail or preview size for kodak images when specified in image object
GWorldPtr	ReadFile2(TFile	*aFile, short	imageSize, float	imageRotation, bool	&wasRotated)	// 11-19-01

upd-R100 is always portrait
bool TSpoolerPrintView::WriteStructureAndOffscreenToFile(tPrintInfoStruct	*printInfo, GWorldPtr	anOffscreen)



// 5-9-03
change spooler folder name to TEPS-PROCESSOR FOLDER
#define		kBGSpoolerFolderString				"TEPS-PROCESSOR FOLDER "			// changed name 5-9-03


implemented Cut Out Graphic folder that will not be used for printing
#define		kTepsCutOutsFolderName				"CUT-OUT FILES"	// 5-9-03
FSSpec 		gCutOutFilesFSSpec	= { 0, 0, "\p" };	// added 5-9-03
void  TTeps2000Application::InitializeApplication()
void TFileOverlayObject::SetCurrentCategory()
void TFileOverlayObject::CopyOverlayFileToSpoolerFolder()
bool TFileOverlayObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
void TImageObject::DrawGraphics(GWorldPtr	outputOffscreen, CRect_AC	tempQDRect)	// 11-08-02
void TImageObject::SetImageFSSpec(FSSpec	aFSSpec)


// 5-8-03
finalized Kodak Pro settings
void TClickBalanceWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TClickBalanceView::SetSettings()
void TNoiseThresholdWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TBaseKodakProCameraHandler::ApplySettingsToOtherImages(bool	markedOnly)
KPDCStatus TBaseKodakProCameraHandler::GetDefaultRadiusSettings(KPDCInt32	IDs[5])	// 5-8-03
KPDCStatus TBaseKodakProCameraHandler::GetDefaultNoiseStrengthSettings(KPDCInt32	IDs[5])	// 5-8-03


// 5-7-03
added some more default settings
changed structure
tKodak760Settings
changed function:
void TBaseKodakProCameraHandler::SetAsDefault(long illuminant, long look, long	sharpness, float EVValue, unsigned short balanceValues[3],
												long	noiseMode, long noiseValue, long noiseRadius, KPDCInt32			newSharpness[3])	// 5-7-03
void TClickBalanceView::LoadDefaults()

reload images after changing noise, sharpness
void TClickBalanceWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

add validation of default .dcr images
void validateMyKodak760Settings(tKodak760Settings	*settings)

save new settings (noise radius and new sharpness) to file when in direct connect mode
bool TBaseKodakProCameraHandler::CopyImageToFolder(FSSpec	*theFSSpec)

fix profiles for 760M images
KPDCStatus TBaseKodakProCameraHandler::ColorProcessImage48 ( unsigned char *imageData, KPDCImageRef theImage, long desiredWidth, long desiredHeight )

create new funtion
void TBaseKodakProCameraHandler::SetLook(short	look)	// 5-7-03


// 5-6-03
fix look issues
void TClickBalanceView::SetSettings()	// 10-29-01
CStr255_AC	TBaseKodakProCameraHandler::GetImageProfileName(short	theLook)	// 5-6-03
KPDCInt32 TBaseKodakProCameraHandler::GetLook()
enum	{										// 5-6-03
			kPortraitStandardLook		= 1,
			kPortraitGrayscaleLook		= 2,
			kPortraitReducedLook		= 3,
			kProductStandardLook		= 4,
			kProductGrayscaleLook		= 5,
			kProductReducedLook			= 7,
			LastIndexLook
};
KPDCInt32 TBaseKodakProCameraHandler::GetLook(KPDCImageRef &theImageRef)		// 5-6-03
KPDCStatus TBaseKodakProCameraHandler::ColorProcessImage48 ( unsigned char *imageData, KPDCImageRef theImage, long desiredWidth, long desiredHeight )


// 5-5-03
added features for Kodak camera's
void TClickBalanceWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TClickBalanceView::SetHandler(TBaseKodakProCameraHandler	*aHandler, FSSpec	*spec)
void TClickBalanceView::SetSettings()	// 10-29-01
TSharpeningWindow
KPDCBool TBaseKodakProCameraHandler::CanDoSharpen()	// 5-5-03
KPDCStatus TBaseKodakProCameraHandler::GetNewSharpness(KPDCInt32	IDs[3])	// 5-5-03
KPDCStatus TBaseKodakProCameraHandler::SetNewSharpness(KPDCInt32	IDs[3])	// 5-5-03
KPDCStatus TBaseKodakProCameraHandler::GetAvailableNoiseReductionModes(KPDCInt32	IDs[10], KPDCUInt32 		*dwAttrSize)	// 5-5-03
KPDCStatus TBaseKodakProCameraHandler::SetNoiseRadius(KPDCInt32	noiseRadius)		// 5-5-03
KPDCInt32 TBaseKodakProCameraHandler::GetNoiseRadius()								// 5-5-03

changed window 'view' 2125
added 'view' 2127

// 5-4-03
void	getUniqueNameWithCopyBeforeExtension(FSSpec	*fileSpec)	// 5-2-03


// 4-30-03
trying to add icon to job file
void TPrintView::CreateThumbnailForJobFile(TFile	*aFile)	// 4-18-03

fix cropping issues
CRect_AC TPreviewImage::GetCropRect()	// 10-12-00


// 4-29-03
change cropping function to work correctly
CRect_AC getCropRect(CRect_AC imageRect, short	mode, float	hRatio, float vRatio, short	dpi)	// 12-09-02
CRect_AC TPreviewImage::GetCropRect()	// 10-12-00

display zoon and shift settings in window
void TShiftAndZoomWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

change 'view' 1260

// 4-28-03
write thumbnail to processed file
changed function:
bool TSpoolerPrintView::WriteStructureAndOffscreenToFile(tPrintInfoStruct	*printInfo, GWorldPtr	anOffscreen)
added functions:
void TSpoolerPrintView::WriteThumbnailToFile(TFile	*aFile)	// 4-28-03
PicHandle getThumbnailResourceAsPicHandle(TFile	*aFile)	// 4-28-03

use spooler creator ID for job file so that Teps-Processor starts up when double clicking job file and use
'JPEG' as filetype so thumbnail shows up in the finder
void TDropView::FillInImageFSSpec4BGPrinting(tNewCanvasSizes	*aCanvas, tPrintSettingsPtr	printSettings, bool now)
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now)

do NOT insert processed file in fCompletedList because it should not be processed by Teps-Processor
bool TSpoolerPrintView::WriteStructureAndOffscreenToFile(tPrintInfoStruct	*printInfo, GWorldPtr	anOffscreen)

// 4-25-03
create some more help functions for image properties
void getDefaultProps(tImageProperties	*prop)
void getDefaultPropsAndRotation(tImageProperties	*prop)	// 4-25-03

revert image will default back to preview prefs
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)


// 4-24-03
create a funtion to save properties to all files
void TTEPSFileHandler::SavePropertiesToAllFiles(tImageProperties	*prop)		// 4-24-03

when files first come in write default props to files if pref is on
void TImageFileObject::IImageFileObject(TFile *aFile, float rotation)


// 4-22-03
change to v9.9b63
make apple-/ work with save cropped images

// declare constant for saving cropped images
const CommandNumber		cSaveCroppedImage			= 1228;	// 4-22-03

// put break line before default - in case future confusion of falling thru cases
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)

// try to show filename of converting file
void TTEPSFileHandler::SaveAsCropped()	// 4-22-03


// 4-22-03
created menu option File - Save Cropped Files
 changed functions
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)
void TTeps2000Application::DoSetupMenus()

created new function:
void TTEPSFileHandler::SaveAsCropped()	// 4-22-03
constant:
const CStr31_AC		kCroppedFolderString = "Cropped Files";


// 4-16-03
// v9.9b62

// for nostalgia
// change target name to "Nostalgia-X"
// change output name to "NOSTALGIA-X"
// change ashley logo #312 - logo should only have Nostalgia-X

// copy changes from 3-13-03 in myNewSecurityKey.cp
// copy changes from 3-13-03 in printServerPrefs.cp
// copy changes from 3-13-03 in teps1000Preferences.cp

TepsNostalgia.rsrc
STR#4000 #15 Teps-Processor
STR#5000 #15 Teps-Processor


Teps-Spooler.
// copy changes from 3-13-03 in backgroundPrintingPrefs.cp
// change target name to "Nostalgia-Processor"
// change output name to "NOSTALGIA-PROCESSOR"


// 4-21-03
fix a sort bug in Teps-Processor
CompareResult_AC TSortedFileList::Compare(const void* item1, const void* item2)  const

cleaned up new feature of showing thumbnail in Teps_processor
void TBackgroundPrintWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TPrintPreview::SetOffscreen(GWorldPtr	offscreen)

always show first image of a template as the PICT-icon
void TPrintView::CreateThumbnailForJobFile(TFile	*aFile)	// 4-18-03
void TPrintView::WriteHeader(TStream	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings)

fixed issue with dropping back color object in small node
void HandleDropLayoutObjects(TView* theView,const CViewPoint& theMouse,TDataPackage* theDataPackage)	


// 4-18-03
create resource fork for job file to save thumbnail
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now)
void TDropView::FillInImageFSSpec4BGPrinting(tNewCanvasSizes	*aCanvas, tPrintSettingsPtr	printSettings, bool now)

create new function to create thumbnail for job file
void TPrintView::CreateThumbnailForJobFile(TFile	*aFile)	// 4-18-03

change job file name to use sequential number + file name + canvas name
void TPrintView::SaveJobFile(TFile	*aFile, bool	now, short imageNumber, CStr255_AC	nameStr)

hide utitlities window when going to template window to prevent clicking on it
void TDesignWindow::DoPostCreate(TDocument* itsDocument)
void TDesignWindow::Close()

Teps-Spooler
create function to display pict when clicking on job list
void TJobsListView::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC	/*thePoint*/) 
void TJobsListView::ShowPict(short	item)	// 4-18-03
GWorldPtr getThumbnailResourceFromFile(FSSpec	fileSpec)	// 4-18-03


// 4-17-03
make back color object size of layout and move to back
void HandleDropLayoutObjects(TView* theView,const CViewPoint& theMouse,TDataPackage* theDataPackage)

fixed a bug of opening up multiple customer order windows
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)   -->  cOpenCustomerOrderWindow

make back color object work correctly
Teps-X
bool TBackColorObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
Teps-Processor
bool TBackColorObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)



// 4-16-03
make sure that file-quit and Teps-X-Quit do the samje thing
void TTeps2000Application::DoScriptCommand(CommandNumber aCommandNumber,
								  TAppleEvent* message,
								  TAppleEvent* reply)

fixed a bug that caused a crash in my case when reading from CD-Rom - uninitialized variable
bool TThumbNailWindow::HandleMouseDown(const CViewPoint& theMouse, TToolboxEvent* event,
								 CPoint_AC hysteresis, EMouseDownType  mouseDownType)

temporarily disable remove after printing when in order summary mode
void TOrderSummaryWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

enable backgound window for edit template and node mode
void TDesignWindow::DoPostCreate(TDocument* itsDocument)

fix bug in enabling window



// 4-11-03
// 4-14-03
fix chroma key window problem
void TChromaKeyView::DoMouseCommand(CViewPoint& theMouse, TToolboxEvent* /*event*/, CPoint_AC	/*thePoint*/)

create checkbox in TeditableText object to auto load through database
void TEditTextObject::Get(CEditTextDesc		*textDesc)
void TEditTextObject::Set(CEditTextDesc		*textDesc)
TEditTextObject::TEditTextObject()
class TEditTextObject : public TTextObject
void TEditTextSettingsWindow::SetTextObject(TEditTextObject	*anObject)
void TEditTextSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

create new function for TImportFileWindow
	TDataList	*GetDataList() { return fDataList; };	// 4-15-03
void FindStringAndCopyToEditableText(CStr255_AC	string)

// 4-10-03
fixed the problem of files not coming in alphabetically
created new class:
TSortedByNameFileList
short TTEPSFileHandler::AddFilesSortedList(short vRefNum, long dirID, CSortedList_AC	*list)	// new 4-10-03
short pstrcomp3 ( Str255 s1, Str255 s2 ) 	// 4-10-03

changed function:
bool myChooseImageFolder (short	&vRefnum, long &dirId, bool selectDefaultLocation, short	dialogStrID, bool &isFolder, short &numOfFiles)


// 4-9-03
prevent quit when in zoomed-in chroma key window
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)  -> cQuit


implement new stamps
	- package quantity
	- package -> number of items
	- total number of sheets
created new functions:
void TTEPSFileHandler::SetPackageNoToPrint(short	packageNum)		// 4-9-03
void TTEPSFileHandler::SetPackageQuantity(short	quantity)			// 4-9-03
void TTEPSFileHandler::SetTotalNumberOfSheets(short	total)			// 4-9-03
short getNumberOfItemsInPackage(short	item)	// 4-9-03
	short 	GetPackageNoToPrint() { return fPackageNumber; };	// 4-9-03
	short 	GetPackageQuantity() { return fPackageQuantity; };	// 4-9-03
	short 	GetTotalNumberOfSheets() { return fTotalSheets; };	// 4-9-03


changed functions:
TGeneralPrintHandler::TGeneralPrintHandler()
short TGeneralPrintHandler::Print()
short TGeneralPrintHandler::PrintCanvas()
short TGeneralPrintHandler::PrintPackage()
short TGeneralPrintHandler::PrintOrder()
CStr255_AC	TStampObject::GetStringToDrawForPreview()
CStr255_AC TStampObject::GetStringToDraw4Printing()
bool TStampObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi)

added three item to MENU resource 1108
changed 'view' 1109

added constants
#define 	kPackageQuantityChoice	6		// 4-9-03
#define 	kPackageNoOfItemsChoice	7		// 4-9-03
#define 	kTotalSheetsChoice		8		// 4-9-03


// 4-8-03
create new function to count the number of print in an order to prepare for stamp
short TGeneralPrintHandler::CalculateNoOfPrints4Order()	// 4-8-03


do not call unmountVolume if camera hot folder mode
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)  -> cReturnToMain

create void TTeps2000Application::PrintAllOrders()	// 4-8-03
access it by holding button in Preview images -> 5th item in popup


// 4-7-03
give a message if image gets shifted out of the view
void TOneUpPreviewImage::Prepare4Drawing()

change reference to getMyInputPrefs()->cameraSource.mode==kSchoolPhotography to getMyInputPrefs()->enableCustomerOrderMode
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01
void TCameraHandler::GetFileName(long theNum, CStr255_AC	&fileName)
bool TCameraHandler::IsValidFile(TFile	*aFile)
~TPreviewImageWindow()
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)
void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)
void TPreviewImageWindow::DoSetupMenus()
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)
OSErr TTeps2000Application::CreateCustomFolder()


add field to tInputPrefs - autoLoadImageProperties
 change 'view' 1041 to add check box - enable customer order mode
 change the following functions:
 bool setMyInputPrefToFactoryDefaults ( tInputPrefPtr ptr )
void validateInputPrefs(tInputPrefPtr 	ptr)	// 2-5-01
TInputPreferences::~TInputPreferences()
void TInputPreferences::SetSettings(tInputPrefPtr	ptr)
bool TInputPreferences::IsChanged()
void TInputPreferences::PrepareModePopup(IDType	theType)

// 4-7-03
change constant kSepiaCanvasType from 2 to 99

// 4-4-03
void  TTeps2000Application::destroyFileHandler(short input)	// 11-07-01 changed important!!!
fix bug that caused crash when switching to Kodak input

create new window for mark range
void TTEPSFileHandler::MarkRange(bool mark, short	begin, short end, bool broadCast)		// 4-4-03

// 4-3-03
change window 1215 to make OK and cancel button work with keys

// 4-1-03
TEPS-PROCESSOR
do not use additional number when using image name for print to file name
short 	TBGPrintView::Print2File(GWorldPtr	anOffscreen)
short TBGPrintView::ReadObjects(FSSpec	fileSpec)

TEPS-X
write print to file name type to Processor
void TPrintView::WriteHeader(TStream	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings)

add menu option ato change layout size
void TLayoutView::DoMenuCommand(CommandNumber aCommandNumber)
void TLayoutView::DoSetupMenus()
const CommandNumber		cChangeLayoutSize				= 1117;	// 4-1-03


// 3-26-03
// fix zoom/shift from special one up when source and destination aspect ratio are the same
void InsetRectsFromWhere(CRect_AC	&srcBound, CRect_AC	&dstBound, CRect_AC	maxSrcBound, CRect_AC	maxDstBound, short	steps, short fromWhere )


// 3-28-03
// resource changes to teps-processor
// changes to BackgroundPrinting.rsrc
window id 1001 - change string "Press start to start Teps-Processor"
window id 1002 - change window title to "Teps-Processor Settings"

change
#define	kSpoolerMesg_First	"Press 'Start' To Start Teps-Processor"

TEPS-X
change window id 1077 references to Teps-2000 and Spooler
change window id 1125 references to Spooler

// 3-25-03

// resource changes to teps-processor
// changes to BackgroundPrinting.rsrc

// adlib changes
- window 1001 fix window title - "teps-processor"
              jump to teps-x
- view 1015 change to year 2003
- view 1043 - make it more clear to users which folder to print!!!!!!!!!!!!

// resorcerer
CMNU 4 - change spooler refs to "teps-processor"

// change pref item name
// resorcerer
STR#4000 - 3 => "Teps-Print Center"
// PreferencesWindow.h
#define		kPrefProcessedJobString			"Teps-Print Center"	// 3-25-03	"OS-X Spool Folder"

// change main window to have correct year
void TBackgroundPrintWindow::DrawTriprismLogo(void)


// 3-25-03
// resource changes to teps-x
// changes to teps-2000.rsrc

// adlib changes
- view 1015 change to year 2003
- view 1018 change to year 2003
- view 1049 change refs from "spooler" to "teps-processor"
- view 1702 change "jump to spooler" to "teps-processor"
- view 1703 change "jump to spooler" to "teps-processor"
- view 1061 bring back prefs to select print to file folder (needed for custom orders)

// change name and give better help notes
MENU 2033 - change "image+template name" to "teps custom order name"

// Resourcerer Changes
ALRT 1062 - change "spooler" to "Teps-Processor"

// change pref item name
// Resourcerer Changes
STR#4000, #15: from "Print Spooler" to "Teps-Processor"
// PreferencesWindow.h
#define		kPrefSetupPrintServerString		"Teps-Processor"	// 3-25-03	// 7/13/99

// change main window title
void TMainWindow::UpdateTitle()


// 3-25-03
change next function to find new 14N camera
OSErr TKodakCameraHandler::FindCamera()

change next function to check for new files for new 14N camera
bool TKodakCameraHandler::Check4NewFiles()

add following function to correctly display status when doing Kodak direct
short TKodakCameraHandler::GetIconAndStatusText(CStr255_AC	&statusText)	// 3-25-03

change following function to return error code insead of bool
OSErr	TBaseKodakProCameraHandler::FindCamera()
OSErr TBaseKodakProCameraHandler::Initialize(bool	forCamera)	// 3-25-03 changed from void to OSErr
OSErr TKodakPro3SLRCameraHandler::Initialize(bool	forCamera)	// 3-25-03 changed from void to OSErr
OSErr TKodakPro4SLRCameraHandler::Initialize(bool	forCamera)	// 3-25-03 changed from void to OSErr
OSErr TKodakProBackCameraHandler::Initialize(bool	forCamera)	// 3-25-03 changed from void to OSErr


use old save pict function to save picts instead of QT call
void writeGWorldToImageFile(GWorldPtr gw,const FSSpec *fileSpec, short	fileType, short dpi)

add dpi to save pict
Boolean SaveAsPICTFile(CFSSpec_AC	fileSpec, GWorldPtr	anOffscreen, short	dpi)	// 3-25-03
PicHandle Offscreen2PicHandle ( GWorldPtr offscreen, short dpi)	// 3-25-03

change following function to set and return input/camera handlers
TCameraHandler	*getCurrentCameraHandler()
void  TTeps2000Application::initializeInputHandler()
void  TTeps2000Application::destroyFileHandler(short input)	// 11-07-01 changed important!!!

// 3-24-03
fixed a problem that did not delete a folder when it had an invisible file .DS_Store inside of it
void TFolderListView::DeleteFilesInFolder(FSSpec	theFSSpec, CStr255_AC	theName)

get and set file type and creator before creating resource fork for thumbnails
PicHandle GetThumbnailResourceFromFile(FSSpec	fileSpec, bool createOne)	// added second argument to create one 4-25-02

if printing all images all pages begin job file name with tickcount to get a unique sort
void TPrintView::SaveJobFile(TFile	*aFile, bool	now, short imageNumber, CStr255_AC	nameStr)

TEPS-SPOOLER
add a compare to job file name to sort by name if creation date is equal
CompareResult_AC TSortedFileList::Compare(const void* item1, const void* item2)  const


// 3-21-03
fixed the problem where the file crashed if there was no resource fork
PicHandle GetThumbnailResourceFromFile(FSSpec	fileSpec, bool createOne)	// added second argument to create one 4-25-02

fixed a bug that did not reload the preview image in the special one up mode when doing Kodak color balance
void TOneUpPreviewImage::ReloadImage()	// 3-21-03


// 3-20-03
allow to change sepia setting from print toolbar
void EditCanvas(tNewCanvasSizes	*aNewCanvas)

save cropping prefs after changing them to make sure preview/print matches on screen result
void saveMyCroppingPreferences()	// 3-20-03
void TPreviewImage::ChangeCropping()


// 3-19-03
fixed writing header of job file to resolve issue with floats
void TPrintView::WriteHeader(TStream	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings)


check for .dcr image first and then check if Text file
bool TKodakCameraHandler::IsValidFile(TFile	*aFile)

save image properties to file before printing
void TPreviewImageWindow::Print(short	mode, Boolean doPreview, Boolean saveToFile, Boolean doBackground, Boolean now)

TEPS-PROCESSOR
read image properties from file
Boolean TImageObject::Draw4PrintingNew(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)	// 12-11-02


// 3-18-03
improve speed for zooming in/out and shifting when in chroma key mode (don't key when holding down button)
void TDropPreviewImage::Prepare4Drawing(bool	forceRedraw) // 1-30-01 added bool forceRedraw default is true

create a function to validate the image properties
bool validateProperties(tImageProperties	*prop)		// 3-18-03

set default image properties
TOneUpPreviewImage::TOneUpPreviewImage() : TCameraPreviewImage()

add image properties
void TOneUpPreviewImage::PreviewImage(TImageFileObject	*anObject)
void TOneUpPreviewImage::SavePropertiesToFile(TImageFileObject	*anObject)	// 3-5-03

add 2nd argument to following funtion:
void TPreviewImage::SetCropping(short	mode, bool save2Pref)	// 3-18-03

when copying files to the spooler also copy tImageProperties struct if input pref 'autoLoadImageProperties' is on
OSErr TTEPSFileHandler::SaveAndReturnSavedFSSpec(short vRefNum, long	parID, long	fileNumber, FSSpec *theFSSpec)

read image properties from image files when print preview
bool TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)


// 3-17-03
add couple of fields to structure tImageProperties
	
	short			cropping;			// 3-17-03
	float			hRatio;				// 3-17-03
	float 			vRatio;				// 3-17-03
	short			cropWhere;			// 3-17-03
	unsigned char	reserved[116];		// 3-17-03

add camera model Kodak Pro 760M
KPDCModelCodes TBaseKodakProCameraHandler::GetMyCameraModel(KPDCImageRef theImage, KPDCProcs *theProcsPtr)	// 9-23-02
KPDCStatus TBaseKodakProCameraHandler::ColorProcessImage48 ( unsigned char *imageData, KPDCImageRef theImage, long desiredWidth, long desiredHeight )

save crop ratio, crop mode etc. to image file
void TOneUpPreviewImage::SavePropertiesToFile(TImageFileObject	*anObject)	// 3-5-03

// 3-14-03
implement sepiatine conversion
TEPS-X
#define		kCurJobVersion		kJobVersion12		// 3-14-03
GWorldPtr TTepsPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
void TPrintView::WriteHeader(TStream	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings)

TEPS-PROCESSOR
short TSpoolerPrintView::FinishJob()
void TBGPrintView::DoPostCreate(TDocument* itsDocument)
short TBGPrintView::ReadObjects(FSSpec	fileSpec)

implement Kodak 14N for TEPS-PROCESSOR
GWorldPtr	ReadFile2(TFile	*aFile, short	imageSize, float	imageRotation, bool	&wasRotated)	// 11-19-01


// 3-13-03
create new Sepiatone prefs
file: sepiatonePrefs.cp
change:

void TTeps1000Preferences::ITeps1000Preferences()
void TTeps1000Preferences::ReadPrefs()
void TTeps1000Preferences::WritePrefs() const


support Kodak Pro 4 Images
create class:
TKodakPro4SLRCameraHandler
changed:
TKodakCameraHandler()
CloseKodakLibs()
~TKodakCameraHandler()
GWorldPtr TKodakCameraHandler::GetThumbnailImage()
GWorldPtr TKodakCameraHandler::GetPreviewImage()
GWorldPtr TKodakCameraHandler::GetFullSizeImage()
IDType TKodakCameraHandler::DoColorBalance()
KPDCModelCodes TBaseKodakProCameraHandler::GetMyCameraModel(KPDCImageRef theImage, KPDCProcs *theProcsPtr)	// 9-23-02
KPDCStatus TBaseKodakProCameraHandler::ColorProcessImage48 ( unsigned char *imageData, KPDCImageRef theImage, long desiredWidth, long desiredHeight )



// 3-12-03
fixed problem where it changed kodak pro files to TEXT files
void savePropertiesToFile(TFile	*aFile, tImageProperties	*prop)			// change 3-12-03
bool loadPropertiesFromFile(TFile	*aFile, tImageProperties	*prop)		// change 3-12-03
void removeImageProperties(TFile	*aFile)	// change 3-12-03
void TOneUpPreviewImage::PreviewImage(TImageFileObject	*anObject)
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)
bool TTEPSFileHandler::AddToList(TFile	*aFile)	// reprototype 3/19/01


// 03-06-03
fix a bug in chooser printing when creating new templates
short checkForNewLayoutFile(TStream	*aStream, templateInfo* infoPtr )	// 3-6-03
OSErr ReadObjects ( FSSpec fileSpec, templateInfo* infoPtr )

changed a function to revert images to original
void TOneUpPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)
implement revert all and marked
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)

fixed a bug that caused zooming to be incorrect
CRect_AC getCropRect(CRect_AC imageRect, short	mode, float	hRatio, float vRatio, short	dpi)	// 12-09-02

// 03-05-03
load thumbnails with correct rotation
void TImageFileObject::IImageFileObject(TFile *aFile, float rotation)

create new function
void TImageFileObject::ResetRotation()		// 3-5-03
void TOneUpPreviewImage::SavePropertiesToFile(TImageFileObject	*anObject)	// 3-5-03

create new input pref -> autoLoadImageProperties
file: InputPreferences.cp
use in:
bool loadPropertiesFromFile(FSSpec	fs, tImageProperties	*prop)		// 3-3-03
void savePropertiesToFile(FSSpec	fs, tImageProperties	*prop)		// 3-3-03

if single up mode startup in special one up mode
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)

create revert to original for current, marked and all
void TPreviewImageWindow::DoSetupMenus()
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)

fixed a bug that caused a crash when running school photography mode from write protected device
bool readStudentOrderFile(FSSpec	tmpFSSpec, char *bufferPtr)


// 03-03-03
// 03-04-03
create new structure tImageProperties in file ImageProperties.c
void savePropertiesToFile(FSSpec	fs, tImageProperties	*prop)		// 3-3-03
bool loadPropertiesFromFile(FSSpec	fs, tImageProperties	*prop)		// 3-3-03

save properties when returning to main
~TOneUpPreviewImage()
save properties when previewing other image
void TOneUpPreviewImage::PreviewImage(TImageFileObject	*anObject)

loading properties when previewing new image
void TOneUpPreviewImage::PreviewImage(TImageFileObject	*anObject)


// 03-05-03
// release to bill SEPIATONE v9.9b55


// Check for changes in TEPS-PRINT Center as well

// 03-05-03
// for NOSTALGIA-X
// dim chromakey item in drag-n-drop menu
// changed menu 2012 of tepsNostalgia.rsrc

// put back the old logo from os-9 version for sepiatone
// PICT 312 AshleyLogo.rsrc


// 03-04-03
// removed some views in the print-to-file prefs
// removed some view in the printing pref
// adjusted print folder button in printer spooler pref
// adjusted print folder button in sitting folder pref


// 3-3-03
correct portrait/landscape settings for various printers
bool TSpoolerPrintView::WriteStructureAndOffscreenToFile(tPrintInfoStruct	*printInfo, GWorldPtr	anOffscreen)

fix redraw issue in drag & drop mode
void TDropPreviewImage::DoKeyEvent(TToolboxEvent* event)
void TDropPreviewImage::SetDragging(bool dragging)
 

// 2-28-03
// 2-27-03
TEPS-PROCESSOR
add useDualBuffer to processed file
short TSpoolerPrintView::PrepareForPrinter()

add following prefs to Cutomer order prefs
	- autoMarkOrderedImages
	- salesTax
	- shippingHandling
changes in:
void TCustomerOrderPrefs::DoPostCreate(TDocument	*aDocument)
~TCustomerOrderPrefs()
void TCustomerOrderPrefs::SetSettings(tCustomerOrderPrefPtr ptr)
void TSchoolPhotographyView::EndPreview(TImageFileObject	*anObject)
void NewCopyDataAndResourceFork(TFile	*srcFile, TFile	*dstFile)	// 3-8-02
void TOrderSummaryWindow::SetupForPrinting(TView	*printView)
void TOrderSummaryWindow::CalculateTotalPrice(TView	*aView, float	totalPrice)	// 2-28-03
void TOrderSummaryWindow::Reset()

free school photography window on return to main to prevent having 2 windows
~TPreviewImageWindow()

// 2-26-03
// next release as v9.9b52
fix school order entry mode

// 2-26-03
// released as v9.9b52
TEPS-X v9.9b52
TEPS-PROCESSOR v9.9b52
TEPS-PRINT CENTER v1.6.4
fix apply to all kodak tiffs when there are non-kodak tifs in the folder
created new logos for all 3 apps
(forgot to add dash "-" to the file name for TEPS-PRINT CENTER)



// 2-25-03
fixed bug that caused crash when shifting image out of view in 4-up mode
void myNewCopyGWorldToGWorld

create pref file in new location and read from old one
void TPreferenceDocument::IPreferenceDocument(TPreferenceBehavior* itsPreferenceController)
void TPreferenceDocument::CopyFromOldPrefFile(TFile	*newFile)	// 2-25-03

TEPS-PROCESSOR
set default spooler folder to "Jobs To Be Printed"
void TBackgroundPrintApp::IBackgroundPrintApp()

create pref file in new location and read from old one
void TPreferenceDocument::IPreferenceDocument(TPreferenceBehavior* itsPreferenceController)
void TPreferenceDocument::CopyFromOldPrefFile(TFile	*newFile)	// 2-25-03


// 2-24-03
change projects to generate:
TEPS-X
TEPS-PROCESSOR
TEPS-PRINT CENTER
change from printServer to launch "Teps-Processor" and "Sepiatone-Processor"
(forgot to add dash "-" to the file name"



// 2-24-03
// release as v9.9b50
// SEPIATONE-X v9.9b50
// SEPIATONE-PROCESSOR v9.9b50
// PrinterSpooler v1.6.3

make nostalgia compile and work
change logo
remove buttons and features from prefs
remove buttons from utils window
remove rotate angle
prevent school photo mode - force to event mode
prevent chromakey from being accessed
change default template to color/sepia
only sony upd70a and chooser printers allowed
make fg invoke "SEPIATONE-PROCESSOR"
create a separate prefs file for both "SEPIATONE-X Prefs" and "SEPIATONE-PROCESSOR Prefs"



// 2-21-03
fix bug that did not make prompt for images work the first time
void TTEPSFileHandler::GetPathName(CStr255_AC	&thePathName)

fix resolution problem in prompt for images window
void TSelectImageWindow::DoPostCreate(TDocument	*aDocument)


// 2-20-03
void TDropPreviewImage::SetSelected(bool	doSelect) 
make school photography mode work with selected images in drag and drop mode

// 2-19-03
create TCustomerOrderPrefs
- showEmptyOrders
- graphic file -> add graphic file to chooser print


// 2-13-03
// 2-14-03
// 2-17-03
// 2-18-03
changes in droppreviewimages.cp to fix school mode
changes in schoolphotographyview.cp
add chooser printing
remove keep thumbnail in memory pref
if not delete hotfolder do not allow school photography mode
void TTeps2000Application::StartDirectConnectWithoutCard()


// 2-11-03
// 2-12-03
fixed bug that made teps crash in school photography mode when not deleting hot folder at startup
void TPreviewImageWindow::SetNumberOfFiles(short	numberOfFiles)

fixed a bug in compiling school log file
bool SaveAsJPEGFile(CStr31_AC	nameString, GWorldPtr	aBGGWorld, FSSpec	*theFSSpec, bool overwriteExisting)


create TOrderSummaryWindow and TOrderListView to give summary of school photography orders

// 2-10-03
create any angle rotation for images
	- UImageObject.cp
	- UImageSettingsWindow.h


// 2-7-03
// release as b32
// fix resizing issue for 2nd crop in single mode (non dragNDrop and nonChromakey)
ResizeUtils.c
ResizeUtils.h
UImageObject.c (BG and FG)
// FG
bool TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
CRect_AC getCropRect(CRect_AC imageRect, short	mode, float	hRatio, float vRatio, short	dpi)	// 02-06-03

// BG
Boolean TImageObject::Draw4PrintingNew(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)	// 12-11-02
CRect_AC getCropRect(CRect_AC imageRect, short	mode, float	hRatio, float vRatio, short	dpi)


// 2-7-03
release as b31

// 2-5-03
fix color drawing in single image mode


// 1-23-03
// release as b30
make fuji cards work with find files in sub directory
short TDummyCameraHandler::AddAllFilesInSubFoldersToList(FSSpec	theFSSpec)
added line 946
AND
short deleteAllFilesInSubFolders(FSSpec	theFSSpec)	// 9-19-01
added line 37
void specialDeleteAllFilesInFolder(FSSpec	theFSSpec)	// 4-30-02
added line 164

fix units to match inches, centimeters and pixels
void TObjectSizeWindow::CalculateAndSetNewValue(IDType	floatText, short	oldUnit, short	newUnit)



// 1-22-03
default to last chosen graphic until you quit:
void TOneUpPreviewImage::DoPostCreate(TDocument	*aDocument)	// 1-22-03

create thread class for loading graphics through thread
TSimpleGraphicsThread
make changes in:
void TFolderOverlayList::DoPostCreate(TDocument* itsDocument)
TFolderOverlayList::~TFolderOverlayList()
void TFolderOverlayList::SetCategory(CStr255_AC		category)


// 1-21-03
create PICT resource thumbnails when creating cache files and show progress again
bool createCacheFileForGraphicsFolder(CStr31_AC	category, bool warn, TCtlMgr	*control, TWindow	*aWindow)	// 12-14-01	

delete files from card when num of files returns 0
void deleteAllFilesInFolder(FSSpec	theFSSpec)

support backspace key in one up mode
void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)


// 1-20-03
create GetSpecialNumberOfFiles to get the number of files on certain pc-cards
short GetSpecialNumberOfFiles(short vRefNum, long dirID)	// 1-20-03
call it in the following functions:
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01
short TTEPSFileHandler::AddFilesToCurrentList(short vRefNum, long dirID, short	&numFilesInFolder)

allow to drag and drop tool window in drag and drop mode when kiosk window is open
bool TDropPreviewImage::DoNotUseDragAndDropToolWindow()

check for nodes, tmeplates etc folders and tell to call triprism if trying to delete this
void specialDeleteAllFilesInFolder(FSSpec	theFSSpec)	// 4-30-02

build thumbnails one at a time for first page instead of whole page
void TPreviewImageWindow::SetNumberOfFiles(short	numberOfFiles)

// 1-14-03
added new icon files to Teps and Spooler

fix a problem wild old Kodak TIF Images
void TLiveSlider::DoControlAction(ControlPartCode partCode)		// 1-14-03
void TColorBalanceWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	/*event*/)
and a change in view 1207

// 1-10-03
// 1-13-03
add funtion to support Command-Delete
void TDropPreviewImage::DoCommandKeyEvent(TToolboxEvent* event)		// 1-10-03

use backspace as clear instead of delete
void TDropPreviewImage::DoKeyEvent(TToolboxEvent* event)

check for clicking stop button when doing preview
GWorldPtr TDropView::Draw4Printing(bool preview, bool saveToFile)
GWorldPtr TPrintView::Draw4Printing(short	dpi, short	imageNumber, templateInfo	*aTemplate)

clear single preview image and special on when pressing clear
void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)

coomand-delete deletes current image
void TPreviewImageWindow::DoCommandKeyEvent(TToolboxEvent* event)	// 1-10-03


// 1-9-03
add third argument to SelectObject when doing select all
void TLayoutView::SelectObject(TLayoutObject* theObject,bool select, bool	all)	// 1-9-03

void TLayoutView::SelectObject(TLayoutObject* theObject,bool select, bool	all)	// 1-9-03

select all cells in object list at once when doing select all instead of one by one
void TLayoutObjectListView::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)

// 1-8-03
fix auto node bug when closing node window after previously saving node
void TDesignWindow::Close()
TLayoutView::TLayoutView()
void TLayoutView::SetIsAutoNode(bool	autoNode)	// 1-8-03
void TTemplateView::CreateAutoNode()	// 10-21-02

speed up select all
void TLayoutView::SelectObject(TLayoutObject* theObject,bool select)

speed up select all if layout list window is closed
void TLayoutObjectListView::SelectObject(short	row, Boolean	state)


// 1-7-03
void TBackgroundPrintApp::IBackgroundPrintApp()
added creating jobs cancelled and jobs not valid folders

// 1-6-03
Made Discovery Cove version compile for OSX

// 1-3-03
created a function that returns what permission you received when opening file
pascal  OSErr  GetPermission(short refNum, short *permission)		// 1-3-02

call it in:
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01
attempt to open file with write permission, if file is already open


// 12-23-02
// 12-24-02
// 1-2-03
add more information to cche file (original size and dpi + header)
GWorldPtr	TFileOverlayObject::GetOverlayOffscreenFromRecordNumber(short	recNum)
GWorldPtr createCacheFileForOffscreen(GWorldPtr	offscreen, FSSpec	tmpFSSpec, long creationDate, long modDate, CRect_AC	tmpRect)
bool SaveOffscreen2CacheFileNew ( GWorldPtr anOffscreen, FSSpec	fileSpec, long creationDate, long modDate, CPoint_AC	origSize)	//12-23-02
GWorldPtr	readOffscreenFromCacheFileNew(FSSpec	fileSpec, long	creationDate, long modDate, CPoint_AC	&origSize)

GWorldPtr	getGraphicOnOffscreen(CStr255_AC	fileName, CStr255_AC	category, bool cache)
GWorldPtr getGWorldFromFileSpec(FSSpec	theFSSpec, short	&resolution)	// 1-2-03
bool createCacheFileForGraphicsFolder(CStr31_AC	category, bool warn, TCtlMgr	*control, TWindow	*aWindow)	// 12-14-01	
GWorldPtr	TFileOverlayObject::GetOverlayOffscreenFromRecordNumber(short	recNum)

// 12-17-02
removed check for is file done copying in
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01

check if open file is succesful when reading/saving thumbnails to file
PicHandle GetThumbnailResourceFromFile(FSSpec	fileSpec, bool createOne)	// added second argument to create one 4-25-02

never allow page number smaller than 1
void TN_UPThumbNailView::LoadPage(long	aNumber)


// 12-13-02
jump to image editor saved tiff files at 72 dpi changed it to 300
bool TKodakCameraHandler::ConvertFile(FSSpec	*theFSSpec)			// 9-30-02


// 12-12-02
implement 2nd crop setting
previewwindowprefs.cp
bool TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
write 2nd crop pref to job file
void TPrintView::WriteHeader(TStream	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings)

TEPS-SPOOLER
read 2nd crop pref from job file
short TBGPrintView::ReadObjects(FSSpec	fileSpec)


// 12-11-02
always save a change of cropping to the preference so that screen and preview and spooler match
void TPreviewImage::SetCropping(short	mode)

save additional variables to job file to support new cropping mechanism
void TPrintView::WriteHeader(TStream	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings)

TEPS-SPOOLER
implement new cropping mechanism in SPOOLER
Boolean TImageObject::Draw4PrintingNew(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)	// 12-11-02
short TBGPrintView::ReadObjects(FSSpec	fileSpec)

fixed a bug with Kodak Pro file if extension is not .DCR
GWorldPtr	ReadFile2(TFile	*aFile, short	imageSize, float	imageRotation, bool	&wasRotated)	// 11-19-01


// 12-09-02
create new function to be used for new cropping mechanism
CRect_AC getCropRect(CRect_AC imageRect, short	mode, float	hRatio, float vRatio)	// 12-09-02

implement new cropping mechanism
bool TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)


// 12-10-02
remove duplicate chromakey checkbox in view 1105

// 12-09-02
automatically add .TIF to files if kodak TIF image file
void TImageFileObject::RenameFile()

// 12-06-02
change editable text in drag & drop when prompting for editable text
short TGeneralPrintHandler::ValidateAllTemplatesForEditableText ()

pad print to file name to 4 characters
short 	TBGPrintView::Print2File(GWorldPtr	anOffscreen)

auto fill all nodes 2nd time when aut remove after printing
void TPreviewImageWindow::Print(short	mode, Boolean doPreview, Boolean saveToFile, Boolean doBackground, Boolean now)


// 12-03-02
changed view resource 1215

changed function to allow for more than two digit for cropping mark
void TCroppingMarkWindow::DoPostCreate(TDocument	*aDocument)
CRect_AC TPreviewImage::GetCropRect()
void TPreviewImage::SetCropping(short	mode)



never use exif/pnot option if large thumbnails
GWorldPtr TGenericFileHandler::GetThumbnailImage()

// 12-02-02
TEPS-SPOOLER
add force portrait for kodak, force landscape for sony
bool TSpoolerPrintView::WriteStructureAndOffscreenToFile(tPrintInfoStruct	*printInfo, GWorldPtr	anOffscreen)

write as BGR for Kodak
bool TSpoolerPrintView::WriteStructureAndOffscreenToFile(tPrintInfoStruct	*printInfo, GWorldPtr	anOffscreen)




// 11-21-02
fixed an update problem with print quantity and then no key
bool DoPromptForPrintQuantity ( short printerType, short &multiplierQuantity )

fixed a problem that caused multiple file overlay objects to be selected in list when it should be only one
void HandleDropLayoutObjects(TView* theView,const CViewPoint& theMouse,TDataPackage* theDataPackage)


// 11-20-02
fix problem that did not draw file overlay window correctly after dropping object
void HandleDropLayoutObjects(TView* theView,const CViewPoint& theMouse,TDataPackage* theDataPackage)

fixed a problem that closed the wrong window when quitting from template window with editable text selected
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)

fixed a problem that switched the printer when going to prefs
void TTeps1000Preferences::ReadPrefs()


changed message if can not do preview because of special print to file mode
short TGeneralPrintHandler::PrintCanvas()

added a progress dialog when marking as group photo
void TImageFileObject::MarkAsStaticImage()	// 10-21-02

calculate scaling factor for thumnail images when using Quicktime
GWorldPtr getGWorldFromFileSpec(FSSpec	theFSSpec, short	scaleFactor, CPoint_AC &fileSize)	// 9/24/02

When creating an auto node add checkbox to add stamp
void TTemplateView::CreateAutoNode()	// 10-21-02
change 'view' resource 1132

have image in node object contain 5x7 aspect ratio
void TLayoutView::ResizeObjectRelativeToNodeSize(bool	addStamp)


// 11-19-02
change to use scaling factor of 8 for thumbnail message (will be calculated in function)
GWorldPtr TGenericFileHandler::GetThumbnailImage()

change SPOOLER to check version number when reading so it can read version 9 job files
short TBGPrintView::ReadObjects(FSSpec	fileSpec)



// 11-15-02
added support for noise reduction modes and values for Kodak DCR files
new functions:
KPDCStatus TBaseKodakProCameraHandler::SetNoiseReductionMode(KPDCInt32	noiseReduction)		// 11-15-02
KPDCInt32 TBaseKodakProCameraHandler::GetNoiseReductionMode()		// 11-15-02
KPDCStatus TBaseKodakProCameraHandler::SetNoiseReductionValue(KPDCInt32	noiseValue)		// 11-15-02
KPDCInt32 TBaseKodakProCameraHandler::GetNoiseReductionValue()		// 11-15-02

changed functions:
void setMyKodak760SettingsToFactoryDefaults(tKodak760Settings	*settings)
bool TBaseKodakProCameraHandler::CopyImageToFolder(FSSpec	*theFSSpec)
void TBaseKodakProCameraHandler::ApplySettingsToOtherImages(bool	markedOnly)
void TBaseKodakProCameraHandler::SetAsDefault(long illuminant, long look, long	sharpness, float EVValue, unsigned short balanceValues[3],
												long	noiseMode, long noiseValue)	// 11-15-02


created new window class TNoiseThresholdWindow

changed 'view' resource 2125
added 'view' resource 2126

fixed a bug that caused application to lock up when trying to save file with old overlay object
void TLayoutView::WriteTo(TStream	*aStream) const


// 11-13-02
// 11-14-02
fixed a bug that did not draw an overlay right with < 100 % white the first time
void TOneUpPreviewImage::SetGraphicsOffscreen(CStr31_AC	category, CStr31_AC	name)	// 5-8-01

fixed some bugs with jumping to backup app
OSType	getFSSpecOfFirstFileInDir(FSSpec	theFolder, FSSpec	*theFile)
OSErr myJumpToImageEditorWithFile(FSSpec	fileToOpen)
bool writeAliasFile(FSSpec	appFileSpec, short	aliasAppType)
added:
FSSpec AliasFileToFSSpec(FSSpec	aliasFS)	// 11-14-02


// 11-12-02
add dpi to border so preview matches print and screen
void TImageObject::DrawBorder(GWorldPtr	anOffscreen, CRect_AC	dstRect, short dpi)		// 11-12-02

fixed issues with drag & drop view and border with graphic when zooming out

fixed issues with changing to invalid template
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)

fixed following issues
4. it seems that the special one-up mode does NOT treat the image+graphic
overlay as the "NEW IMAGE" and passes the "NEW IMAGE" to the template to be
composed.


// 11-11-02
fixed a bug that causes Teps to crash when clicking on the path static text (right top of
preview image window)
TPathClickStaticText()
~TPathClickStaticText()
void TPathClickStaticText::SetFile(TFile	*aFile)

fixed redraw issue too
void TPathPopupCommand::DoIt()

fixed jump to image editor with KodaK TIFF files
void THideNameView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TPreviewImage::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

fixed a bug that asked for save the changes even when there are no changes
short TLayoutView::SaveChanges(bool	showDialog, bool saveAs)
void TLayoutView::ReadObjects(TStream	*aStream)
short TLayoutView::DoNewReadFile(TStream	*aStream)

TEPS-SPOOLER
fixed an issue that causes spooler not to match teps preview when zooming, shifting
Boolean TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)


// 11-08-02

fixed a bug that left a shadow around the droppreview image after deselecting it
void handleDragImage(TView* theView,const CViewPoint& theMouse,TDataPackage* theDataPackage)	// 10-30-02

added class variable fImageFrame to TDropPreviewImage to draw border around image
void TDropPreviewImage::DoPostCreate(TDocument	*aDocument)
void TDropPreviewImage::Draw(const CViewRect &area)
void TDropPreviewImage::Prepare4Drawing(bool	forceRedraw) // 1-30-01 added bool forceRedraw default is true

fixed a bug that did not do the cropping correctly when auto rotation was on
bool TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
and
SPOOLER TImageObject::Draw4Printing

created new function
void TImageObject::DrawGraphics(GWorldPtr	outputOffscreen, CRect_AC	tempQDRect)	// 11-08-02
that also rotates graphic if image is being rotated when auto rotate is on

// 11-07-02
fix a bug that did not print graphic in Spooler
void TImageObject::SetImageFSSpec(FSSpec	aFSSpec)

fixed a bug that did not make the graphic work in new one up mode
GWorldPtr	getGraphicOnOffscreen(CStr255_AC	fileName, CStr255_AC	category, bool cache)

maybe fixed bug of loading images in new one up mode
TOneUpPreviewImage::TOneUpPreviewImage() : TCameraPreviewImage()

fixed a bug that did not do realsize correctly in edit template
GWorldPtr	TFileOverlayObject::GetOverlayOffscreenFromRecordNumber(short	recNum)

fixed a bug that caused shifting not to work correctly in spooler
Boolean TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)


// 11-06-02

added parameter to:
void InsetRects(CRect_AC	&srcBound, CRect_AC	&dstBound, CRect_AC	maxSrcBound, CRect_AC	maxDstBound, short	steps, short	cropWhere)


pass new argument to InsetRects -> short cropWhere
bool TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
void TImageObject::Calculate4ZoomAndInset(CRect_AC	&srcRect, CRect_AC	&dstRect, CRect_AC	maxDstRect)
void TOneUpPreviewImage::Prepare4Drawing()
void TDropPreviewImage::Prepare4Drawing(bool	forceRedraw) // 1-30-01 added bool forceRedraw default is true

write cropWhere parameter to job file to use in Spooler
void TPrintView::WriteHeader(TStream	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings)

read in spooler
short TBGPrintView::ReadObjects(FSSpec	fileSpec)

fixed a bug that caused object in node object to be drawn even if there was no image
void TNodeViewObject::FindImageInNodeAndSetFSSpec4DragAndDrop(FSSpec	imageFSSpec, TStream	*aStream, short curImage)
bool TNodeViewObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi, TView	*theView)

added Cursor

// 11-05-02
fix print for demo with network key
void PrintForDemo(GWorldPtr	outputOffScreen, Boolean doPreview)


dont prompt for category when group photo modevoid GetNumberOfSpecificObjectType ( CList_AC *layoutObjectsList, IDType objIDType, short &count, short countList[] )
void GetNumberOfSpecificObjectType ( CList_AC *layoutObjectsList, IDType objIDType, short &count, short countList[] )

2. when marking an image a group photo, need to save as group foto x in the
ORIENTATION of the thumbnail!!!!!
void TImageFileObject::MarkAsStaticImage()	// 10-21-02

3. the single arrow and the double arrow BOTH do the same thing again.
i thought single arrow = next / prev image
double arrow = next page / prev page
void TN_UPThumbNailView::ScrollTo(IDType	theType, bool OptionKeyDown)

moved "new one up prefs" after "print toolbar" prefs in teps settings Str# 4000

5. goto utilility, setup templates, edit existing - then nav lib window
opens,
click on cancel, and utilities window is still DIMMED
void EditExistingLayout(IDType	layoutType)

fix jump to in thumbnail window
void TN_UPThumbNailView::LoadPage(long	aNumber)
void TThumbNailView::Draw(const CViewRect	&area)

don't show filename if no image
void TNodeViewObject::FindImageInNodeAndSetFSSpec4DragAndDrop(FSSpec	imageFSSpec, TStream	*aStream, short curImage)
short TDropView::WriteViewObjects(TStream	*aStream)	// 8-7-01


// 11-04-02
create constant for group photo name - kTepsGroupPhotoFileName

fix crash in preferences
void TPreviewWindowPrefs::SetSettings(tPreviewPrefPtr		ptr)
bool TPreviewWindowPrefs::IsChanged()
~TPreviewWindowPrefs()

fix crash in drag & drop view -> previous page
short TTEPSFileHandler::FindNextMarkedFile(short startPosition)
short TTEPSFileHandler::FindFirstMarkedFileForPage(short numberOfNodes, short Page)

save user mode in TFileOverlayObject correctly
void TFileOverlayObject::Set(COverlayDesc		*overlayDesc)	// 10-15-02

create new funtion to automatically create group photo files if the dont exist
void	createGroupPhotoFile(short	no)		// 11-04-02
call in:
void  TTeps2000Application::InitializeApplication()



// 11-01-02
drag image from one box to another by holding Command (Option) Key
void TDropPreviewImage::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC thePoint) 
set cursor for new dragging options
ResNumber TDropPreviewImage::GetCursorID()

change constants in TFileOverlayObject (fUseCategory4Search, fUseAsStaticFile) to use fUserMode instead (radios)
change in:
bool TDropView::HandleMouseDown(const CViewPoint& theMouse,				// 10-24-01
void TDropView::GetGraphicToChange()	// 2-6-02
void TFileOverlayObject::Set(COverlayDesc		*overlayDesc)	// 10-15-02
void TFileOverlayObject::IFileOverlayObject(const CViewRect& itsBounds)
bool IsExistingOverlayFile(FSSpec	*fs, CStr31_AC	category, short	userMode)	// 11-01-02
void copyOverlayFileToSpoolerFolder(FSSpec	srcSpec, CStr31_AC	category, short	userMode)		// 11-01-02
void TFileOverlaySettingsWindow::Apply()
void TFileOverlaySettingsWindow::SetFileOverlayObject(TFileOverlayObject	*anObject)
void GetNumberOfSpecificObjectType ( CList_AC *layoutObjectsList, IDType objIDType, short &count, short countList[] )
bool TOverlayView::BecomeTarget()

add option to save print to file as TARGA
void writeGWorldToImageFile(GWorldPtr gw,const FSSpec *fileSpec, short	fileType, short dpi)

add matchOrientation and rotation to PrintToolbar window line item (PreviewPrefs) used to force rotation of image
exept in drag & drop mode
	ptr->matchOrientation			= false;		// 11-01-02
	ptr->rotation					= kCW;			// 11-01-02
void validatePreviewPrefs ( tPreviewPrefPtr ptr )	// 6-18-01
TPreviewWindowPrefs::~TPreviewWindowPrefs()
bool TPreviewWindowPrefs::IsChanged()
void TPreviewWindowPrefs::SetSettings(tPreviewPrefPtr		ptr)
void TPrintView::WriteHeader(TStream	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings)
bool TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)

mark all images will NOT mark group files
void TTEPSFileHandler::MarkAllImages(bool mark, bool broadCast)		// 5-21-01 added bool broadCast

fix too many files open problem
OSErr ReadObjects ( FSSpec fileSpec, templateInfo* infoPtr, CList_AC* theObjectList )
bool ReadLayoutObjectsFromFileToList ( FSSpec fileSpec, CList_AC* aList )
void TPrintView::ReadObjects(FSSpec	fileSpec)

TEPS-SPOOLER
Boolean TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)



// 10-30-02

do not validate spooler folder if print preview 
short TGeneralPrintHandler::Print()

fixed issues where clicking file overlay or back color tool caused the magnification tool to be enabled
void TLayoutView::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event,CPoint_AC hysteresis)
ResNumber TLayoutView::GetCursorID()

allow only one image object to be dropped on node layout
void TLayoutView::DropImageObject()

create static file attribute for TFileOverlayObject
fUseAsStaticFile
use in:
void TOverlayView::UpdateRelativeGraphics()		// 5-10-01

always hide extension and imagenumber when swapping values in file name stamp
CStr255_AC TStampObject::GetStringToDraw4Printing()
bool TStampObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi)


create support for dragging from one box to another in drag and drop mode
created new function:
void handleDragImage(TView* theView,const CViewPoint& theMouse,TDataPackage* theDataPackage)	// 10-30-02
changed:
~TDropPreviewImage()
void TDropPreviewImage::DoPostCreate(TDocument	*aDocument)
void TDropPreviewImage::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC thePoint) 



// 10-17-02

// add dual buffer option to spooler
typedef struct tPrintServerPrefs
	short		useDualBuffer;				// 10-17-02	copied from 4/23/02
tPrintServerPrefPtr getMyPrintServerPrefs()
TPrintServerPrefs::~TPrintServerPrefs()
void TPrintServerPrefs::SetSettings(tPrintServerPrefPtr	ptr)
bool TPrintServerPrefs::IsChanged()
void TPrintServerPrefs::ViewsEnable(bool enable)


// 10-23-02

// check for correct job file in teps-spooler
// make sure to change kCurrentPrinerSpoolerVers in the OTHER spooler
#define	kCurrentPrinerSpoolerVers	kPrinterSpoolerVer3		// change 10-17-02	kPrinterSpoolerVer2		// set to current 9/12/02


// 10-25-02
removed some references to gLoadOverlay

fixed bug with TEditableText
short TLayoutView::DoNewReadFile(TStream	*aStream)

fixed bug with matching orientation of Image object with template with multiple images
rotateGWorld90DegreesDoNotDispose

draw a green frame for static images
void TThumbNailView::Draw(const CViewRect	&area)

when marking as static image unmark existing ones
void TImageFileObject::MarkAsStaticImage()	// 10-21-02

fixed a bug that did not show overlays in Edit layout window
void TOverlayObject::DrawContent(TScalableView* itsView)


// 10-24-02
Added a view 1084 that determines static image number 1-10
ImageFileObject.cp

// 10-23-02
changed thumbnail to not use scroller method anymore to allow more then 306 images
N_UPThumbnailView.cp
TepsFileHandler.cp

// 10-21-02
// 10-22-02
implemented static image concept
DropView.cp
ImageFileObject.cp

implemented auto node
UDesignWindow.cp
UtemplateView.cp
UPrintView.cp
UTeps2000Application.cp

fixed issue with slowing down in drag & drop mode when using nodes
DropView.cp
PreviewImageWindow.cp

// 10-18-02
fixed rotation issue with rotated nodes imageobjects etc.
UImageObject.cp

// 10-17-02
implemented feature to force orientation of Image Object to match the template
UImageObject.cp
UImageSettingsWindow.cp

// 10-16-02
created function that shrinks text if it does not fit on box
void myMakeTextFit(CRect_AC	textRect, CStr255_AC textString, short	temp, tTextInfo	style)			// 10-18-02
UBaseTextObject.cp
UTextObject.cp


// 10-14-02
// 10-15-02
created new mechanism of reading and writing template and node files without writing objects
changed files:
ULayoutView.cp
UPrintView.cp
UImageObject.cp
ULayoutObject.cp
UNodeViewObject.cp
UStampObject.cp
UBaseTextObject.cp
UTextObject.cp
UEditTextObject.cp
UFileOverlayObject.cp
UBackColorObject.cp

// 10-11-02
// added new class CMyNavigation and functions for navigation to support new OS X features	10-11-02
(selecting package app's like photoshop 7)
file: myNavigationUtils.c
 
use new navigation functions for selecting camera app
void THotFolderOptionsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

use new navigation functions for selecting image editor app
OSErr myJumpToImageEditorWithFile(FSSpec	fileToOpen)


// 10-11-02
release version v9.9b13

// 10-10-02

// next version is 9.9b13

// fix the hidden fine tune window for large chromakey window
adlib 2122 from window type 2 to window type 48

// fix drawing of rotated image objects in image preview window in drag n drop
bool TImageObject::Draw4DragAndDrop(TView	*view, short	dpi, CPoint_AC topLeftPoint, short rotation, bool	isColor, bool isMirror, 
void TDropView::DrawViews(CRect_AC	theRect, FSSpec	templateFSSpec, bool	isNewType)	// 9-7-01

// fix drawing of rotated image object in spooler
Boolean TNodeViewObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)

// allow teps and spooler to run in OS-X ONLY
void  TTeps2000Application::InitializeApplication()
void TBackgroundPrintApp::IBackgroundPrintApp()



// 10-9-02
// release as version 9.9b12 for serge to try out at customer site

// adlib 1292 truly hide all unwanted buttons
// in the looking for pc-card window

// remove double opening of file
// fixes all the annoying "
bool	isValidQTFile(FSSpec	theFSSpec)

// fix OffsetRect so that drag and drop works correctly
ZoomOffsetUtils.c

// prevent bad input preferences being overwritten after pointing to
// the hot folder camera app
InputPreferences.cp


// fix crashing when entering or exiting large chromakey window
void TDropPreviewImage::DoKeyEvent(TToolboxEvent* event)


//10-8-02
// released as 9.9b11 BUT found problem with drag and drop

// 10-8-02

// disable crop relative for now until fully debugged
1215 adlib disable popup
1215 adlib change text to crop image relative to...
void validatePreviewPrefs ( tPreviewPrefPtr ptr )	// 6-18-01

// fix check for exif file

adlib 1043 remove spinning cursor



// 10-8-02
bool TDummyCameraHandler::IsFileDoneCopying(TFile	*aFile)	// 10-8-02
create function to determine whether a file is done copying by checking first and last two bytes


// 10-7-02

short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01
if file is not valid check for type is 'appl' and warn if so to prevent people from deleting apps

OSErr myJumpToApp(FSSpec	*appToOpenFolder, bool	bringToFront)		// 9-18-01
fixed myJumpToApp to correctly launch camera app on start sitting

OSErr MyChooseFile(const FSSpecPtr defaultLocationfssPtr, OSType	fileType, short	index)
if filetype = all or appl search for packages too (OSX)

1. need to change adlib window for "looking for pc card"
even though locate button is hidden, BUT can still activate with "enter" key
changed 'view' resource 1292 to make locate button NOT default button

2. check out why FG image is darker in large chromakey window
void TOffscreenPicture::Draw(const CViewRect	&area)
changed function to use CopyWorldBits instead of simpleDraw

3. fix crashing issue if chromakey #4 window is up and then hit enter key
void TDropPreviewImage::DoKeyEvent(TToolboxEvent* event)
close fine tuning window before going to zoom mode

also fixed a bug that did not redraw image when returning to TDropPreviewImage
~TChromaKeyWindow()

4. search for extension in REVERSE order, when performing hide extension of
filename
void TSchoolPhotographyView::SetStudentSpec(CStr255_AC	fileName, bool newStudent)
void TSlideShowView::DrawStamp(tMonitorStamp	*aStamp, const CRect_AC &offscreenRect, CStr255_AC theString)
void TExternalVideoWindow::DrawStamp(tMonitorStamp	*aStamp, const CRect_AC &offscreenRect, CStr255_AC theString)
CStr255_AC TStampObject::GetStringToDraw4Printing()
bool TStampObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi)

5. in hot folder mode, it is always ejecting the hot folder volume on return
to main
even though "unmount on return to main" is OFF
is it because we are automatically deleting hot folder on return main?
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)
change cReturnToMain
check for getMyStartSittingPrefs()->copyPrefs.unMountDiskAfterCopying instead of getMyStartSittingPrefs()->unmountVolume
same for:
bool TStartSittingCopyHandler::ProcessFunction1()


6. make school photo mode work like v9.2.2


// 10-4-02
changed function to call base class' IsValidFile (important for schoolphotography mode)
bool TKodakCameraHandler::IsValidFile(TFile	*aFile)

remove old reference to StandardFileReply
bool	getValidNodeFileSpec(FSSpec	*fileSpec)


// 10-3-02
change function to make sure that objects fit within bounds
void TLayoutView::ValidateLayoutObjectCoordinates()		// 3-20-01

// 10-2-02
use getMyPreviewPrefs()->cropWhere
void TDropPreviewImage::CalculateResizeRects()
void TOneUpPreviewImage::Prepare4Drawing()
void TPreviewImage::Draw(const CViewRect	&area)
void TImageObject::DrawContent(TScalableView* itsView)
bool TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
short TImageObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi, CStr255_AC	&fileName)

change OffsetRect function to work correctly with new crop rectangles
void OffsetRects(CRect_AC	&srcBound, CRect_AC	&dstBound, CRect_AC	maxSrcBound, CRect_AC	maxDstBounds, CPoint_AC	offset)


use getMyPreviewPrefs()->cropWhere in cropping window
void TPreviewImage::ChangeCropping()


// 9-30-02
// 10-1-02

added filed fSwapValues to TStampObject to swap first and last name
changed:
void TStampObject::ReadFrom(TStream* aStream)
void TStampObject::WriteTo(TStream* aStream) const

CStr255_AC TStampObject::GetStringToDraw4Printing()
bool TStampObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi)
to use fSwapValues

void TStampSettingsWindow::SetStampObject(TStampObject	*anObject)
to set fSwapValues

void TStampSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
to get fSwapValues

added function:
	CRect_AC CropAndResizeBottom(CRect_AC	imageRect, CRect_AC	outputRect)	// 10-1-02
in file resizeUtils.c

void TNodeViewObject::FindImageInNodeAndSetFSSpec(FSSpec	imageFSSpec, TStream	*aStream, short curImage)
void TNodeViewObject::FindImageInNodeAndSetFSSpec4DragAndDrop(FSSpec	imageFSSpec, TStream	*aStream, short curImage)
changed function to call ((TStampObject*)aLayoutObject)->GetStringToDraw4Printing()

added field to tPreviewPrefStruct -> cropWhere (kCropCenter,kCropTopLeft,kCropBottomRight)
validate cropWhere to make sure it has a valid value
void validatePreviewPrefs ( tPreviewPrefPtr ptr )	// 6-18-01


when renaming files check for kodak pro files to make sure of .dcr extension
void TImageFileObject::RenameFile()

change processed folder to new folder structure, change in pref views too

added kKeyTepsNetworkKey to allow start sitting
bool TMainWindow::HasStartSittingKey()


// 9-30-02
fixed jump to image editor for kodak pro images
void THideNameView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TPreviewImage::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
bool TKodakCameraHandler::ConvertFile(FSSpec	*theFSSpec)			// 9-30-02
bool isKodakProImageFile(FSSpec	theFSSpec)		// 9-30-02

check if Graphics importer != nil AND
close component after getting images
GWorldPtr getGWorldFromFileSpec(FSSpec	theFSSpec)	// 7-29-02
GWorldPtr getGWorldFromFileSpec(FSSpec	theFSSpec, short	scaleFactor, CPoint_AC &fileSize)	// 9/24/02

add validation for backup folders AND
enable Kodak Pro Color Balance
void TBackupFilesCommand::DoIt()
void validateBackupFolders()	// 9-30-02

// 9-27-02
added alias handles for main images folder, special images folder, spooler folder, backup folders



// 9-26-02
// allow show test image to work when editing/creating template/node with image object
void TImageSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

// change adlib for return to main menu from okay to ok


// 9-25-02
// when editing existing template that is too large, allow it to shrink-to-fit the view
void gotoTemplateEditor(IDType	layoutType, FSSpec	theFileSpec, TWindow	*returnWindow)



// 9-25-02
// fix problem with opening new kodak files and meta data
// was trying to metadata to a closed file
KPDCStatus TBaseKodakProCameraHandler::SetMetaData(KPDCImageRef &theImageRef, tMetaData	*data)	// 9-25-02
KPDCStatus TBaseKodakProCameraHandler::GetMetaData ( KPDCImageRef &theImageRef, tMetaData	*data)


// 9/24/02
release as version 9.9b6 to serge for fuji demo

// fix problem with not showing correct image size in image preview window
GWorldPtr TGenericFileHandler::GetThumbnailImage()
GWorldPtr TGenericFileHandler::GetPreviewImage()
GWorldPtr getGWorldFromFileSpec(FSSpec	theFSSpec, short	scaleFactor, CPoint_AC &fileSize)	// 9/24/02

// do not downsize when encountering 4k by 4k issue
GWorldPtr getGWorldFromFileSpec(FSSpec	theFSSpec, short	scaleFactor, CPoint_AC &fileSize)	// 9/24/02

// remove setting of custom popup
pascal void myEventProcSaveAs ( NavEventCallbackMessage callBackSelector, NavCBRecPtr callBackParms, NavCallBackUserData callBackUD)



// 9-23-02
// 9-22-02
void TClickBalanceView::SetHandler(TBaseKodakProCameraHandler	*aHandler, FSSpec	*spec)
disable two radiobuttons for proback camera

KPDCModelCodes TBaseKodakProCameraHandler::GetMyCameraModel(KPDCImageRef theImage, KPDCProcs *theProcsPtr)	// 9-23-02
created new funtion that returns camera model
KPDC_DCS760, KPDC_DCS720X, KPDC_ProBackCamera, KPDC_ProBack645

KPDCStatus TBaseKodakProCameraHandler::ColorProcessImage48 ( unsigned char *imageData, KPDCImageRef theImage, long desiredWidth, long desiredHeight )
call GetMyCameraModel to get correct camera to determine what profiles to use

add following cameras to switch statement
			case KPDC_DCS720X:			// 9-23-02
			case KPDC_ProBack645:		// 9-23-02

void TBaseKodakProCameraHandler::ApplySettingsToOtherImages(bool	markedOnly)
first get camera model and apply all and marked only to SAME camera

bool	computeExtVideoRects(short	monitorWidth, short	monitorHeight, short textSizeHeight, extVideoRectsPtr aPtr )
fixed box computation for 90CW and 90 CCW

// 9/19/02

// allow external video prefs to be enabled
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)
void TTeps2000Application::DoTeps1000Settings()
adlib 1212 make window type from 2 to 48 since we want it to be float but disabled
adlib 1252 make window type from 2 to 48 since we want it to be float but enabled

// copied stuff from 8/1/02 and 8/2/02 of earlier project to get the 
// window to draw correctly
bool myCopyBits ( GWorldPtr sourcePtr, GWorldPtr destinPtr, const Rect *srcRectPtr, const Rect *destRectPtr, short copyMode, RgnHandle maskRgn )
void CopyWorldBits ( GWorldPtr world, WindowPtr window, Rect *destRectPtr )
void TExternalVideoWindow::DrawStamp(tMonitorStamp	*aStamp, const CRect_AC &offscreenRect, CStr255_AC theString)
void TExternalVideoWindow::DrawStamp(tMonitorStamp	*aStamp, const CRect_AC &offscreenRect, CStr255_AC theString)
OSErr drawTextInRect ( GWorldPtr aWorld, CRect_AC textRect, CStr255_AC theString, tMonitorStamp *aStamp )
bool	computeExtVideoRects(short	monitorWidth, short	monitorHeight, short textSizeHeight, extVideoRectsPtr aPtr )

// remove unused functions
bool mySpecialCopyBits ( GWorldPtr sourcePtr, GWorldPtr destinPtr, const Rect *srcRectPtr, const Rect *destRectPtr, short copyMode, CRGBColor_AC	color)

// fix redraw for external monitor preview
short DoPrintPreview2 ( GWorldPtr anOffscreen, short resID, bool one2One, CStr255_AC	fileName)

// try to fix slide show window
void TSlideShowMainView::Draw ( const CViewRect &area )
void TSlideShowView::DrawStamp(tMonitorStamp	*aStamp, const CRect_AC &offscreenRect, CStr255_AC theString)
OSErr drawTextInRect ( GWorldPtr aWorld, CRect_AC textRect, CStr255_AC theString, tMonitorStamp *aStamp )


// 9-19-02
replace all references to 3fff and 7fff to get the rowbytes from a pixmaphandle with the call:
- getPixelsPerRowInPixMap
changed short rowbyte variables to unsigned long

// 9-16-02
// 9-17-02
Set Attribute to automatically apply daylight/flash/tungsten etc. profile
GWorldPtr TKodakProBackCameraHandler::GetImage(FSSpec	*fileSpec, KPDCUInt16	resID, bool	&wasRotated)	// 11-14-01
GWorldPtr TBaseKodakProCameraHandler::GetImage(FSSpec	*fileSpec, KPDCUInt16	resID, bool	&wasRotated)
KPDCStatus TBaseKodakProCameraHandler::Set760Attributes()

change view resource 2125
make ajustment to
void TClickBalanceWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

add new Kodak libraries to foreground and spooler folder


// 9/12/02
initialize a version number for the new printer spooler app in teps-spooler
we changed the structure alignment so that v9 jobs can be read by os-x teps-spooler
we need to recompile the mach-o-osx-printerSpooler



// 9/11/02

// prepare for teps-network key
bool TGeneralPrintHandler::ValidateSecurityKey ( short printQuantity )
short tpiRainbowKey::DetermineTypeOfTriprismKeyFound ( eve3InfoPtr	aKeyPtr )
#define			kTPIKeyType10			10		// 9/11/02	new teps network key
#define		kKeyTepsNetworkKey		kTPIKeyType10	// 9/11/02

// update string with new key type
void TMainWindow::DoPostCreate(TDocument	*aDocument)
CStr255_AC tpiRainbowKey::GetKeyTypeString ( void )
void TPreviewImageWindow::UpdateCounterValue()



// 9/10/02
// released to serge for dennis kirkpatrick
// change to version 9.9b3

// change return to main warning dialog box to contain "okay" and "cancel" only
adlib #1023

// must read os-x keys only
xxmyTepsSecurityKey.h - refine challenge and response values

// change spooler compiler prefs
turn OFF "remap newlines to CR"


// 9-4-02
added two fields to tInputPrefs
- deleteHotFolderAtStartup
- deleteHotFolderOnReturnToMain

added function
void TInputPreferences::GoToHotFolderSettingsWindow(tInputPrefPtr	ptr)	// 9-4-02
added window 1090 called from configure button on view 1041

use new input prefs in function
OSErr TDummyCameraHandler::ProcessFunction8()	deleteHotFolderAtStartup
OSErr TDummyCameraHandler::ProcessFunction11()	deleteHotFolderOnReturnToMain

remove check for fLastModDate==0, always ask if delete hot folder unless check deleteHotFolderAtStartup is true
OSErr TDummyCameraHandler::ProcessFunction8()	deleteHotFolderAtStartup


created new class THotFolderOptionsWindow

print to CD in FG always
short TGeneralPrintHandler::PrintCanvas()

4. cancel out of CD burning during prepare for printing progress
short TGeneralPrintHandler::Print()


// 8-19-02
// release as v9.4b3
put back the printCommand for the sony printer
OSErr TSonyScsiPrinterDevice::SendThePrintCommand ( void )



// 8-16-02
// release as v9.4b2

// reformat macapp window #1077 FG
// reformat macapp window #1004 Spooler

// initialize summary window within subclass
void TPrintCountWindow::DoPostCreate(TDocument	*aDocument)
void TPrintCountWindow::Initialize(TDocument	*aDocument)

// give subtotals in summary window
void TPrintCountWindow::Initialize(TDocument	*aDocument)

// let subclass initialize the summary window for both FG and Spooler
void TBackgroundPrintApp::DoMenuCommand(CommandNumber	aCmdNumber)
void TTeps2000Application::ShowPrintCount()	// 8-15-02


// ?????????????????????????????????????????????????????????????????????
// change macapp window #1058
// ??????????    why is this window used for auto-locate start sitting
// ????????????    and not for regular start sitting ?????????????
// change macapp window #1058 - do NOT make locate default and hide it
// and in code, use hold down cmdKey and controlKey to show it
bool TFindPCCardWindow::DoIdle(IdlePhase	thePhase)


// 8-16-02
// from edwin

// use hold down cmdKey and controlKey to show reset button
bool TPrintCountWindow::DoIdle(IdlePhase	thePhase)

// only delete image if in source Hot Folder 
void TTEPSFileHandler::SavePrintedFiles(bool	isPreview)



// 8-15-02
fill in default folder name
bool	gotoSelectImageWindow()

GWorldPtr TPrintToFileHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
always get extension from original file for kTemplateAndImageNameType

support printcount for today and cumulative
add another column for CD-Write

add TPrintCountPrefs to have pref for showing print count at startup or when quitting

show print count in SPOOLER

// 8-14-02
~TNewKodakCameraHandler()
free kodak pro library

short TGeneralPrintHandler::Print()
check for status ==noErr before saving, removing or deleting files

created funtion to remove deleted or remove from thumbnail window files from fDummyFileList
void TDummyCameraHandler::RemoveFromOtherLists(TFile	*aFile)	// 8-14-02
IS CALLED FROM
void TTEPSFileHandler::DeleteImage(short	aNumber, bool check)	// changed 8-15-00
void TTEPSFileHandler::RemoveImageFromList(short	aNumber)

added support for delete key in preview image window is single preview or special one-up mode
void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)

created new pref in Printing Preferences - autoDeleteAfterPrinting
called from
void TTEPSFileHandler::SavePrintedFiles(bool	isPreview)

UPrintView.cp
changed kCurJobVersion to kJobVersion9 
added writing an integer to spooler job = current canvas number

created class TPrintCountWindow to reset and create reports


// 8-13-02
create TCDWriteWindow to be opened when writing a CD
TCDWritePrefWindow with options for each of the 40 canvases

free TImageFileObject
void TTEPSFileHandler::DeleteImage(short	aNumber, bool check)	// changed 8-15-00
void TTEPSFileHandler::RemoveImageFromList(short	aNumber)


// 8-12-02
set the current canvas number for use with creating the report
short TGeneralPrintHandler::PrintPackage()

// 8-9-02
added next two functions to be used with print count for printer and canvas
short getCurrentCanvasNumber()	// 8-9-02
void setCurrentCanvasNumber(short	number)	// 8-9-02

added 2 class variables to class TGeneralPrintHandler to force foreground us if true
	fPrint2FileCopy	= false;	// 8-9-02
	fCDWriteCopy	= false;	// 8-9-02
these get set in:
void TGeneralPrintHandler::SetCanvasToPrint(tNewCanvasSizes		*canvas, short	printer)
foreground only if print to file with 4th name option = kTemplateAndImageNameType
or kCDWriteItem and savefiletype is kSaveAsOriginal

// 8-8-02
adjust GeneralPrintHandler.cp for CD-Write
changed new function
short TGeneralPrintHandler::Print()
created new functions
bool TGeneralPrintHandler::CheckForCDWriteItemInPackage()	// 8-8-02
void TGeneralPrintHandler::Prepare4WriteCD()
void TGeneralPrintHandler::FinishWriteCD()		// 8-8-02

added support in Teps1000 preferences for reading and writing new CD-Write prefs and canvases

added new menuoptions for showing total of prints made
Preferences-Get Print Count

added file: Printcountstuff.c+.h
addToPrintCount is called whenever a print is made

// 8-7-02
added a function in PrintToFilePrefs.cp
CStr255_AC getPrintToFileName(tNewCanvasSizes	*aCanvas, short	quantity)	// 8-7-02
added new constant
#define 	kTemplateAndImageNameType	4

added 4th item to MENU rsrc 2033

added support for file name option 4 (kTemplateAndImageNameType) in PrintToFileHandler.cp
if filename option 4 do a straight file copy
short 	TPrintToFileHandler::DoPrint(GWorldPtr	anOffscreen, Boolean	doPreview)

added file CDPrintHandler.cp to project

added kCDWriteItem to list of printers

added class TCDWritePreferences
added class TCDPrintHandler

// 7-26-02
added key support for Spooler
void TPrintJobTaskManager::DoNextTask()
short TSpoolerPrintView::PrepareForPrinter()

auto select image object if there is only one
void TLayoutView::DropImageObject()

when created page with nodes allow marked image number to be entered (in rows/columns window)
void TTemplateView::createNUPPage(TNodeViewObject	*firstObject)

draw border of image object also in node or template design window
void TImageObject::DrawContent(TScalableView* itsView)


// 7-25-02
changed structure alignment to mac68k
Created TBackColorObject
new files: 	UBackColorObject.cpp
			UBackColorSettingsWindow.cpp
changed files: ULayoutView.cp
void HandleDropLayoutObjects(TView* theView,const CViewPoint& theMouse,TDataPackage* theDataPackage)

		
reversed object order in layout object list
PicHandle TLayoutObjectListView::GetPictureHandle(GridCell aCell)
CStr255_AC TLayoutObjectListView::GetText(const GridCell& aCell) const
void TLayoutObjectListView::DrawCell(const GridCell&	aCell, const CViewRect&	aRect )
void TLayoutObjectListView::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC	thePoint) 
void TLayoutObjectListView::SelectObject(short	row, Boolean	state)
void TLayoutObjectListView::SwapObject(short	objectNum1, short	objectNum2)


// 7-24-02
upgraded Kodak lib from 1.3 to 2.0
had to change some include filenames
still problem with colorsync profiles

// 7-22-02
// 7-23-02
added support for background color and image object border

// 7-19-02
Fixed a bug that caused object icons to disappear when going from preview image window to edit template
created 'cicn'
void TDesignWindow::DoPostCreate(TDocument* itsDocument)

// 7-18-02
increased array size for printing to spooler from 50 to 2000
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now)

fixed a bug that did not do the rotation well for 2nd job when doing all images
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now)

set external video monitors to false
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)
void TTeps2000Application::DoTeps1000Settings()


// 7-17-02
fixed bugs in show 2-up full screen and slide show
changed drawing function
void TSlideShowMainView::Draw ( const CViewRect &area )

removed drawing environment in window 1032 and window 1252

// 7-16-02
fixed a bug that caused draw for demo not to draw correctly if there wasn't a key
void TPreviewImage::DrawForDemo()	// 10-12-00

allow dublicating even if there is only space to move down or right
void TLayoutView::DoMenuCommand(CommandNumber aCommandNumber)
	case cDuplicate:

// 7-15-02
upgraded teps to use CW 8
cast different TLayoutObject's to MDependable_AC
added lib CarbonFrameworkLib to Teps and Spooler

fixed a bug that caused 2nd image on chromakey template not to be keyed correctly
bool TImageObject::DoChromaKeying(GWorldPtr	image, GWorldPtr	outputOffscreen, CRect_AC	srcRect, CRect_AC	dstRect, short	resizeType)
AND
TEPS-SPOOLER
Boolean TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TBGPrintView	*theView)

Do not allow Teps to quit with modal dialog up and ignore quit if not in main window or
preview image window
void TTeps2000Application::DoScriptCommand(CommandNumber aCommandNumber,
								  TAppleEvent* message,
								  TAppleEvent* reply)


// 7-9-2002
made a change for thumbnails to draw correctly
void TN_UPThumbNailView::ResetCounter()		// 2-21-01

added deleteAllFilesInFolder to following function
void TTeps2000Application::DeletePCCardAndUnmount()

added a couple of function to myUtils.c
CStr255_AC	getTimeString(DateTimeRec	*theDateTimeRec)	// 7-9-02
CStr255_AC	getCurrentTimeString()	// 7-9-02


added a case 99 to CStr255_AC	getCurrentDateString( short dateFormat )
to get date 20020709


TEPS SPOOLER
changed processed job file name so that it will be sorted correctly
	- data + time + template name
bool TSpoolerPrintView::WriteStructureAndOffscreenToFile(tPrintInfoStruct	*printInfo, GWorldPtr	anOffscreen)


// 7/8/02
// fix LaunchApplicationByFSSpec with correct parameter settings
OSErr LaunchApplicationByFSSpec(FSSpec fileSpec, bool showWarning, bool	bringToFront)	// 9-18-01

// Do Not let teps-2000 launch app mac-os-x printerspooler when launching regular spooler
void LaunchSpoolerApp(bool	check)

// spooler should launch mac-os-x printerspooler after processing the print job
short TSpoolerPrintView::PrepareForPrinter()


// 7/22/02
// allow for more than 50 image files to be sent to BG job
// from drag-n-drop mode
short TDropView::WriteViewObjects(TStream	*aStream)

// fix spooler when there are LOTs of jobs (mark binkins)
// bad casting
void TSortedFileList::Insert(void* item)

// 7/18/02
// release as v9.2.1
// fix karen's problem with incorrect rotated image on 2nd page
// if template contains only image object, rotation value was not reset
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now)

// allow more than 50 image files to be sent BG job
// increased array to allow 400 fsspecs
// need to find out why greater than 400 gives compiler error
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now)


// 7/12/02
// release as v9.2
// fix duplicate node row x col to accept up to 99 (used to stop at 12)
change adlib #1115

// 7/8/02
// release as v9.1.6b19
//if search for all sub folders is off, still delete source folder
void TTeps2000Application::DeletePCCardAndUnmount()

// 7-1-02
fixed jump to image editor
auto launch printing app - has to be in the same directory as Teps
fixed a bug that caused the back window to come to the front


// 6-25-02
// automatically checks to see if new image object size fit within layout size
//if not, then new image object size is set to layout size
bool TLayoutView::GetNewObjectSize(CViewRect	&bounds)

// in pc-copy mode, if user cancels or no images were copied, then app will not
// prompt user to delete source image folder
void TTeps2000Application::StartDirectConnectWithoutCard()

// 6/6/02
// release as version v9.1.6b17

add more message to SaveAndReturnSavedFSSpec when failure occurs
tell what undefined error is void checkFileError ( short errno )
changed button in MacAppAlert 1003 from 'ignore' to 'skip to next'

// 6-5-02
TEPS SPOOLER
stop the "doIdle is recursing" message
handle a double click on the pause button as a single click
void TBackgroundPrintWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
 
put a check in drawing the sub job if the pause button was clicked
short TPrintView::DrawSubJob()

changed button in MacAppAlert 1003 from 'ignore' to 'skip to next'


TEPS-2000
OSErr myJumpToImageEditorWithFile(FSSpec	fileToOpen)
first test if application (Photoshop is already running). if it is send open file command

created new function that does not try to launch app first
OSErr	sendOpenFileAppleEventToAppWithAppFSSpecNew(OSType	appSignature, FSSpec	fileToOpen, FSSpec	appToOpen)	// 6-5-02

// 6-4-02
made some changes to give more info when writing of image files fails
changed SaveAndReturnSavedFSSpec from void to OSErr
test for OSErr when doing doCopyTheFile
OSErr TTEPSFileHandler::SaveAndReturnSavedFSSpec(short vRefNum, long	parID, long	fileNumber, FSSpec *theFSSpec)

when printing to spooler test for error when copying files and move job file to unknown
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now)
if an error occurs move the job file to unknown jobs folder
do more error testing in writing the job file

TEPS SPOOLER
add an error if reading an imge through Quicktime fails
GWorldPtr	ReadFile2(TFile	*aFile, short	imageSize, float	imageRotation, bool	&wasRotated)	// 11-19-01


// 5/31/02
// release a version 9.1.6b16 for freeze frame

// do NOT eject volume is volume is same a sitting folder or application folder
short unMountVolumeNew ( void );

// also give warning if deleting pc-card volume is same as sitting folder
void TTeps2000Application::DeletePCCardAndUnmount()
void specialDeleteAllFilesInFolder(FSSpec	theFSSpec)	// 4-30-02


// 5/30/02
// release a version 9.1.6b15 for freeze frame

// for freeze frame
// need to check if XGetVInfo returns crap or what not
void TTeps2000Application::CheckForAvailableHardDiskSpace()	// 4-30-02

// fix button labels when prompt for external video window is shown
OSErr TExternalVideoWindowServer::PromptAndDisplayImage ( TExternalWindowInfoPtr aPtr )

// for freeze frame
// if ud printer give error message while sending job - especially after clearing printer memory
OSErr TSonyScsiPrinterDevice::IntializeThisPrinter ( short printerType )


// 5-31-02
added alerts if trying to delete all files in folder from the application disk
void specialDeleteAllFilesInFolder(FSSpec	theFSSpec)
void TTeps2000Application::DeletePCCardAndUnmount()

added 'ALRT' 1061 in Teps2000.rsrc

// 5-30-02
added source to apply shifting corectly if there is rotated imageobjects or nodes in a template
void TDragAndDropToolWindow::ApplyShiftAndZoomOptionsToAll(bool	all)

fixed a bug that did not add the .dcr extension correctly to the destination file when copying to backup folder
void TSaveToServerCommand::DoIt()


// 5/29/02
// release a version 9.1.6b14bruce for turi photo

// check for new fuji 4000 mark2 printer
short TFujiScsiPrinterCmdSet::matchPrinterDevice ( myScsiDevicePtr myDevicePtr )


// 5/10/02
// release as v9.1.6b14

// fix order of reading and/or creating default thumbnail properly
GWorldPtr TGenericFileHandler::GetThumbnailImage()


// 5-10-02
removed some lines that caused the progress dialog to disappear after a 'save as'
bool TTEPSFileHandler::SaveAsCustomType(short vRefNum, long	parID, long	fileNumber, bool showProgress,
						short	fileType, bool crop, CPoint_AC	newFileSize, CStr255_AC	newName) // added 8-1-00


// 5-9-02
added a feature that when you are saving files (save as or save composition as) that the extension changes
automatically when you change the type (through popup) and it selects the text before the dot
void TTEPSFileHandler::SaveAs(short imageNumber)
void HandleCommandPopup(ControlHandle thePopup, NavCBRecPtr callBackParms)
pascal void myEventProcSaveAs ( NavEventCallbackMessage callBackSelector, NavCBRecPtr callBackParms, NavCallBackUserData callBackUD)
added function in myNavigationUtils.c
void setDefaultExtension(CStr255_AC	extension)


// 5-6-02
when doing repeat start sitting show new files found and total number of files
created new class variable in TDummyCameraHandler -> fNewFilesFound
changed:OSErr TDummyCameraHandler::ProcessFunction7()
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01
 
OSErr TDummyCameraHandler::ProcessFunction7()

created new view resource 9016 (progress)

// just check for main images folder volume for < 100MB and give warning
void TTeps2000Application::CheckForAvailableHardDiskSpace()	// 4-30-02

// 5/3/02
// do not send colorAdjust command to updr100 and upd50 when printer is printing
OSErr TSonyScsiPrinterDevice::IntializeThisPrinter ( short printerType )

// 5-3-02
// check for existing volume/folder first and then check for volume using newer method


// 5-2-02
prompt for editable text should also work for chroma key templates
short TGeneralPrintHandler::ValidateForEditableTextForTemplate ( FSSpec templateFSSpec, short editTextCountList[] )

// 5-1-02
created new class and function for finding PC Card
short myNewCheckForPCCard ()	// 5-1-02
pascal	short unmountAllVolumes ()	// 5-1-02
pascal	short CountMountedVolumes (short	*vRefnum)	// 5-1-02
added class TFindPCCardWindow

added bool useNewFindPCCardMethod to tStartSittingPrefStruct
changed 
	~TStartSittingPrefs()
	void TStartSittingPrefs::SetSettings(tStartSittingPrefPtr	ptr)
	bool TStartSittingPrefs::IsChanged()
	
added view resource 1058

// 4-30-02
created new function to check for if there is enough hard disk space left (or if theres too many sitting folders)
void TTeps2000Application::CheckForAvailableHardDiskSpace()	// 4-30-02
created
//OSErr GetAvailableFreeBytes ( short vRefNum, long	&freeBytes)
pascal	OSErr	XGetVInfo(short volReference,		// added 5-1-02
						  StringPtr volName,
						  short *vRefNum,
						  UInt64 *freeBytes,
						  UInt64 *totalBytes)

call it at startup and when start sitting
void TTeps2000Application::StartDirectConnectWithoutCard()

added 'ALRT' 1058
added 'ALRT' 1059


// release as v9.1.6b11
// 5/1/02
// changed problem with 'pnot' and createOne
PicHandle GetThumbnailResourceFromFile(FSSpec	fileSpec, bool createOne)	// added second argument to create one 4-25-02


// 4-29-02
fixed deleting files in subfolders and deleting empty folders in subfolders
created new function
	void specialDeleteAllFilesInFolder(FSSpec	theFSSpec)	// 4-30-02
is called by
	short deleteAllFilesInSubFolders(FSSpec	theFSSpec)

fixed funtion
OSErr DeleteEmptyFoldersInFolder(FSSpec	theFSSpec)

// 4/26/02
// release as v9.1.6b10

// 4/26/02
// fix crash after Entering large chromakey window mode
void TDropPreviewImage::DoKeyEvent(TToolboxEvent* event)

// show correct photoshop v6+ thumbnails
// check for exif type thumbnails first
// then check for pnots
// and then make our own pnots
GWorldPtr TGenericFileHandler::GetThumbnailImage()
PicHandle GetThumbnailResourceFromFile(FSSpec	fileSpec, bool createOne)	// added second argument to create one 4-25-02


// 4/25/02
// change all "not happy" messages to normal messages
OSErr TSonyScsiPrinterDevice::IntializeThisPrinter ( short printerType )

// display correct status message after delete/unmount of pc-card in hot folder mode
void TThumbnailToolsView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)



// 4-25-02
file: GenericFileHandler.cp
add a 2nd argument to GetThumbnailResourceFromFile function. if true will create a thumbnail resource in the file
if it does not have one
PicHandle GetThumbnailResourceFromFile(FSSpec	fileSpec, bool createOne)	// added second argument to create one 4-25-02

file: SelectOverlayFolderView.cp
GWorldPtr	getThumbnailFromFile(CStr31_AC	folder, short	&index, CStr255_AC	&fileName)
call GetThumbnailResourceFromFile with 2nd argument is true

file: UFolderOverlayList.cp
PicHandle TFolderOverlayList::GetPictureHandle(GridCell aCell)
call GetThumbnailResourceFromFile with 2nd argument is true


file: TepsPrintHandler.cp
GWorldPtr TTepsPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
void TTepsPrintHandler::CreateJobFile4BackgroundPrinting(short	imageNumber, Boolean now, bool stop)
only do multiple page if !isNewOneUpMode()

file: NewKodakCameraHandler.cp
void TNewKodakCameraHandler::SaveImage()
compare where assignment was meant (I assume)
	gInsideSaveImage==true;	// 3/19/02

// 4/23/02 release as v6.1.6b9
 Need to use kodak SDK v1.3 (3/27/2002) for this version

files affected:
kodakCMM_Support.h
KodakProCameraHandler.cp
PrintingPreferences.h
PrintingPreferences.cp
PrintServerPrefs.cp
TSonyScsiPrinterCmdSet.cp
TSonyScsiPrinterDevice.cp

// add support for ProBack645 images
// apply correct colorsync files for DCS720X images
KPDCStatus TBaseKodakProCameraHandler::ColorProcessImage48 ( unsigned char *imageData, KPDCImageRef theImage, long desiredWidth, long desiredHeight )


// add member variable to track specific type of printer found
class TSonyScsiPrinterCmdSet : public TBaseScsiCmdSet
TSonyScsiPrinterCmdSet::TSonyScsiPrinterCmdSet()
short TSonyScsiPrinterCmdSet::matchPrinterDevice ( myScsiDevicePtr myDevicePtr )

// allow preferences for user to select dual buffer mode
// in two different structures for FG and BG apps
typedef struct tPrintingPrefs		// used in FG
typedef struct tPrintServerPrefs	// used in spooler

Boolean setMyPrintingPrefToFactoryDefaults ( tPrintingPrefPtr ptr )
TPrintingPrefs::~TPrintingPrefs()
void TPrintingPrefs::ViewsEnable(bool enable)
void TPrintingPrefs::SetSettings(tPrintingPrefPtr ptr)
bool TPrintingPrefs::IsChanged()

short TSonyScsiPrinterDevice::CheckIfPrinterFreeAndReady ( void )

Boolean setMyPrintServerPrefToFactoryDefaults ( tPrintServerPrefPtr ptr )
TPrintServerPrefs::~TPrintServerPrefs()
void TPrintServerPrefs::ViewsEnable(bool enable)
void TPrintServerPrefs::SetSettings(tPrintServerPrefPtr	ptr)
bool TPrintServerPrefs::IsChanged()

// fix printing to sony upd printers from spooler in foreground mode
OSErr TSonyScsiPrinterDevice::SendImageToPrinter ( GWorldPtr imageGWorldPtr )


// 4-23-02
clear template after printing in drag and drop mode also if shift window or others open
void TPreviewImageWindow::Print(short	mode, Boolean doPreview, Boolean saveToFile, Boolean doBackground, Boolean now)


// 4-22-02
change TPopup in view 1201 to TFloatingPopup

add check in void TSelectImageWindow::PutSelectedImagesInMainFileList()
 


// 4/19/02 release as v9.1.6b8

// 4-18-02
fixed some problems that caused wrong filenames to occur in stamps and print to file name
set the current file for writing object in new one up mode
short TDropView::WriteViewObjects(TStream	*aStream)	// 8-7-01

void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now)
				if (mode != kOneUpFillTemplateMode)	// 4-18-02 do not copy files here is already done

added source to get first image file if new one up mode
short TPrintView::GetFirstImageFile()	// 3-2-01

void TNodeViewObject::FindImageInNodeAndSetFSSpec(FSSpec	imageFSSpec, TStream	*aStream, short curImage)
only set current file for stamp if not new one up mode
		if (!isNewOneUpMode())	// 4-18-02
			getCurrentInputHandler()->SetCurrentFile(curImage);


// 4/16/02	release as v9.1.6b7

// 4-16-02
void TPreviewImageWindow::SaveSchoolInfo()	// created new function 4-16-02
call in 
	~TPreviewImageWindow()
	bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)
save student info correctly in new one up mode as soon as Command-1 is chosen


// 4-15-02
show progress while copying
OSErr TDummyCameraHandler::ProcessFunction7()

always delete files from hotfolder when returning to main in school photography mode
OSErr TDummyCameraHandler::ProcessFunction11()	// created function 2/8/01

save pacakge in school mode when pressing command-1
also for new one up mode
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)


// 4/12/02	release as 9.16b6

// 4-12-02
Shool Photography mode
fixed a bug that did not show right order in new one up mode
void TDropPreviewImage::PreviewImage(TImageFileObject	*anObject)

if prompt for editable text is on it took 15 seconds to scan for it
test for copies > 0
short TGeneralPrintHandler::ValidateForEditableTextForOrder ( tStudentOrderStruct *curStudentOrderList, short editTextCountList[] )

same for file overlays
short TGeneralPrintHandler::ValidateForFileOverlayForOrder ( tStudentOrderStruct *curStudentOrderList )

removed double macapp alert for continue with next package
short TGeneralPrintHandler::PrintOrder()

when printing orders in schoolphotography mode new one up mode gave message 'please select an image'
short TPreviewImageWindow::GetImageToPrint(bool	dontCheckCanvas)
short TPreviewImageWindow::GetImageToPrint(tNewCanvasSizes	*aCanvas)

enable tab when switching from drag and drop view to new one up mode
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)

//
// 3/27/02
//

// discovered that the spooler link order or libraries was a bit different than
// teps.  it seems that the "e3itf.o" library must be before
// the kodak's libraries

// we need to find a way to get rid of these unwanted libraries.
// we keep getting these duplicate lib names when linking.
// this is our REAL problem.
// in the carbon version, the kodak sdk and the dtf mgr are not included.
// evidently, we need the "ansi_c.ppc.lib" for these libs
// also, some standard ansi functions were included in the "e3itf.o"
// that gets used... 

// MAYBE the "ansi_c.ppc.lib" should be replace with something newer????


// do NOT return true in the call back function for CWMatchBitmap
// true means that user may have cancelled - unless we check for it.
// usually return false
pascal bool myCMCallBackProc ( long progress, void *refCon )



//
// 3/26/02
//

// try to fix unstable memory
// try to find out why malloc/free combo does NOT correctly in spooler
// but okay in fg

// created the debugMemory function to allocation large block and then immediately deallocate
// found problem in spooler - free up a malloc does NOT work for some reason
// had to change order of linking and tried to match link order
// in teps-2000, since teps works fine!
 
// let the sdk tell us what the size and type of attribute should be
GWorldPtr TBaseKodakProCameraHandler::GetImage(FSSpec	*fileSpec, KPDCUInt16	resID, bool	&wasRotated)

// test out malloc problem
// use malloc to do the allocation and do corresponding free
GWorldPtr TBaseKodakProCameraHandler::GetImage(FSSpec	*fileSpec, KPDCUInt16	resID, bool	&wasRotated)

// create test function to test out memory issue
void debugMemory ( short allocMethod )

// zero out unitialized variables
TBaseKodakProCameraHandler::TBaseKodakProCameraHandler()
void TBaseKodakProCameraHandler::Initialize(bool	forCamera)


//
// 3/25/02
//

// replace all TrackMouse calls to event ptr that might be nil
void TPopupButton::DoMouseCommand(CViewPoint& theMouse, TToolboxEvent* event, CPoint_AC hysteresis)
void TIconPopupButton::DoMouseCommand(CViewPoint& theMouse, TToolboxEvent* event, CPoint_AC hysteresis)
void TFloatingPopup::DoMouseCommand(CViewPoint& theMouse,

// created more kodak function
// and call it
KPDCStatus TBaseKodakProCameraHandler::KCMS_PrepareForKCMS ( KPDCImageRef theImage, KPDCRect &theRect )
GWorldPtr TKodakProBackCameraHandler::GetImage(FSSpec	*fileSpec, KPDCUInt16	resID, bool	&wasRotated)	// 11-14-01
GWorldPtr TBaseKodakProCameraHandler::GetImage(FSSpec	*fileSpec, KPDCUInt16	resID, bool	&wasRotated)
GWorldPtr	TBaseKodakProCameraHandler::GetMyImage()

// go thru either kodak or colorsync cmm
GWorldPtr	TBaseKodakProCameraHandler::GetMyImage()

//   do not call movehhi and see how it goes????  
Handle rainbowKey::GetANewEve3Handle ( void )


//
// 3/22/02
// 

// 
// NEED TO DO LOTS OF TESTING AFTER THIS FUNCTION CHANGE!!!!!!
// 
// try to fix memory leak and bad memory fragmentation
// just lock memory without ever moving it to high memory location
// Do NOT call HLockHi INSTEAD USE HLock
OSErr myHLock ( Handle theHandle )
Handle TdtFCursor::GetBlob(dtFfieldRange	pos, long aRecID)

// call updated GetMyImage in this function
GWorldPtr TBaseKodakProCameraHandler::OpenKodak760Image(FSSpec	*fileSpec, KPDCUInt16	resID)

// make sure only ONE rainbow key instance is ever created
// used to be creating a bunch each time function was called
// and occupied memory for no good reason
OSErr rainbowKey::CreateNewEve3Info2 ( eve3InfoPtr myInfoPtr )
short tpiRainbowKey::FindATriprismKey ( void )
short tpiRainbowKey::FindADesiredKeyType ( short desiredKeyType )


//
// 3/21/02
//

//add stuff for kodak KCMS API calls
TBaseKodakProCameraHandler::TBaseKodakProCameraHandler()
GWorldPtr TBaseKodakProCameraHandler::GetImage(FSSpec	*fileSpec, KPDCUInt16	resID, bool	&wasRotated)
GWorldPtr TBaseKodakProCameraHandler::OpenKodak760Image(FSSpec	*fileSpec, KPDCUInt16	resID)

void TBaseKodakProCameraHandler::KCMS_Initialize ( void )
KPDCStatus TBaseKodakProCameraHandler::KCMS_SetAndCombine ( KPDCImageRef theImage )
KPDCStatus TBaseKodakProCameraHandler::KCMS_Apply ( KPDCPixelLayout *theLayout, KPDCPixelLayout *fileLayout, KPDCUInt32 inAngle )
KPDCStatus TBaseKodakProCameraHandler::KCMS_Close ( void )


// call the corresponding cmm based on compile header
// use kodaks APIs or use colorsync calls
GWorldPtr TBaseKodakProCameraHandler::ProcessImageAndConvertToGWorldKCMM ( KPDCPixelLayout 	*theLayout, KPDCPixelLayout *outLayout )
GWorldPtr TBaseKodakProCameraHandler::ProcessImageAndConvertToGWorld ( unsigned char *pbyBuffer, KPDCImageRef theImage, long desiredWidth, long desiredHeight )

// close kodak cmm before destroying
TBaseKodakProCameraHandler::~TBaseKodakProCameraHandler()

// make kodak API calls compile in teps
CMMData* CMMOpen(void)

// make functions call common base
// remove duplicating codes
// added member variable to base to hold name of library to load
TBaseKodakProCameraHandler::TBaseKodakProCameraHandler()
void TBaseKodakProCameraHandler::SetLibraryName ( char *libraryName )
void TKodakProBackCameraHandler::Initialize ( bool forCamera )
void TKodakPro3SLRCameraHandler::Initialize(bool	forCamera)
void TBaseKodakProCameraHandler::Initialize(bool	forCamera)





//
// 3/20/02
//
do more nil ptr checks
void validateInputPrefs(tInputPrefPtr 	ptr)

// make sure inputprefs are validated after user touches them from prefs window
// add validation of start sitting prefs that's related to changing the
// input from file to camera - especially with brand new prefs from scratch
void validateInputPrefs(tInputPrefPtr 	ptr)

// make sure 760 prefs are set to factory default for the first time with empty prefs
void TTeps1000Preferences::ITeps1000Preferences()

// fix menu not being uninstalled properly after leaving template window
// back to utils window
void TDesignWindow::Close()

// in the template window, draw the category graphic always - not just a red box
void TFileOverlayObject::Draw4Thumbnail(GWorldPtr	outputOffscreen)

// make sure fSplashScreenDp is not deleted twice
void TTeps2000Application::DestroyApplicationSplashScreen()

// remove forceMemoryMovement when creating cursors for app
void CreateCursorForThisApp ( void )

// add warning message to check if function gets recursed while acquiring image
// from 760 or kodak cameras
void TNewKodakCameraHandler::SaveImage()

//
// 3/19/02
//

// found out that while acquiring 760 images, TTeps2000Application::DoIdle is indeed
// recursing
// just remove the three extra beeps and return false
// in the future, should just set a flag that function is recursing
// and then ONLY do functions that are allowed
bool	TTeps2000Application::DoIdle(IdlePhase	thePhase)

// remove all references to serial ports
// AND REMOVE serialPorts.cp
void  TTeps2000Application::InitializeApplication()





// 3/18/02
// v9.1.6b5
remove serial port code during initialization of teps


// 3/18/02
// release as v9.1.b64

compile with kodak sdk 1.2.1 for firewire cameras
compile DC-2000 and DC-Spooler for karen



// 3/15/02
// release as v9.1.6b3

//put back code that was commented out from 3/13/02 changes
TThumbNailView::~TThumbNailView()



// 3/13/02
// release as v9.1.6b2
// mainly to test out redraw problems on faster g4s computers
// fix potential crashes in chroma key with drag and drop and new one up mode

//transfer useful changes from v9.1.7late project 3/12/02
// before release v9.1.7 with too many functional and prefs changes

// try to fix illegal/uninitialized pointers
// dated as 3/13/02
void TDesignWindow::Close()

// try to fix illegal/uninitialized pointers
// dated as 3/12/02
void TDragAndDropToolWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
TThumbNailView::~TThumbNailView()
void TChromaKeyView::InitializeModes()
TImageObject* TLayoutView::GetImageObjectBeforeThis(short	index)

// display error if not enuf memory
// dated as 3/12/02
GWorldPtr TBaseKodakProCameraHandler::ProcessImageAndConvertToGWorld ( unsigned char *pbyBuffer, KPDCImageRef theImage, long desiredWidth, long desiredHeight )

// this may have been fixed with v4.6 of nvidia drivers
// v4.6 fixes the preview and zoom in image redraws
// but does not solve zoom redraws in nodes (ok in templates)
// therefore
// will leave these changes in
// try to fix some redraw issue on faster cpu's
// dated as 3/7/02
void TPreviewImage::Draw(const CViewRect	&area)
void TOffscreenPicture::Draw(const CViewRect	&area)
void TPreviewImage::PreviewImage(TImageFileObject	*anObject)
void TImageObject::DrawContent(TScalableView* itsView)

// 3-7-02
duplicate pref file if upgrading to newer version
bool	checkForValidVersionNumber(tPrefStruct	*aPrefStruct)	 	// 12-10-01

fixes for update on faster macs - added waitfor(1) in:
void TPreviewImage::Draw(const CViewRect	&area)
void TOffscreenPicture::Draw(const CViewRect	&area)
void TLayoutView::Draw(const CViewRect& area)
void TImageObject::DrawContent(TScalableView* itsView)

enable/disable configure backup buttons correctly
void TCustomCopyPrefWindow::AdjustViews()

added 
#define		kTepsMasterImagesFolderString		"MASTER IMAGES FOLDER 2"	// 3-7-02
create master images folder 2 if pref is set
void  TTeps2000Application::InitializeApplication()

// 3-7-02 remove check for existing directory - check is done later
bool TStartSittingCopyHandler::ProcessFunction1()
bool TCustomServerCopyHandler::ProcessFunction1()

// 3-4 / 3-6
Added prompt for print to file name feature
enabled 2nd configure backup button and changes start sitting pref
fixed 'file not created by teps' error

// 2-27-02
bool TNewKodakCameraHandler::IsValidFile(TFile	*aFile)
speed up loading files (before getting to operations window) check for kodak pro files
// 2-27-02
start sitting customize do not enter operations window -> backup 
bug that the second time twice the amount of images were backed up
void TTeps2000Application::StartDirectConnectWithoutCard()

prompt for images - auto load did not work correctly
bool	gotoSelectImageWindow()

CMError MyMatchBitmapWithKodakDeviceLink48 ( unsigned char *imageData, long width, long height, FSSpec deviceLinkProfFSSpec, FSSpec inputProfFSSpec, FSSpec	outputProfFSSpec )
dispose color world

// 2-26-02
make sure that all function calls using gApplication->GetActiveWindow test for !- nil first

created new funtion:
bool isKodakProImageFile(FSSpec	theFSSpec)		// 2-26-02
use it when jumping to image editor in:
void THideNameView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TPreviewImage::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

fixed a bug that did not acquire the highres pro back images correctly
GWorldPtr TKodakProBackCameraHandler::GetImage(FSSpec	*fileSpec, KPDCUInt16	resID, bool	&wasRotated)	// 11-14-01


// 2-25-02
fixed problem that caused Image Object not to fit when dragging it on the layout view (if zoomed)
changed functions:
void TObjectSizeWindow::SetObject(TLayoutObject	*aLayoutObject, bool	isProportional, short units, CViewRect	bounds, short dpi)
bool TLayoutView::GetNewObjectSize(CViewRect	&bounds)
created new function:
void TLayoutView::GetRealObjectBounds(CViewRect& bounds)		// 2-25-02

fix editable text on the fly if in new one up mode (just like drag and drop mode)
void TPrintToolbarWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

display chroma key template in the title bar
void TPreviewImageWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)


// 2-22-02
replace all gApplication->PollEvent() with myApplicationPollEvent();

void TMainWindow::DoPostCreate(TDocument	*aDocument)
disable DoIdle in main window - no more forceMemoryMovement every second

made some changes in OneUpPreviewImage.cp to make shifting and closing windows work correctly
void TShiftAndZoomWindow::DoPostCreate(TDocument	*aDocument)
void TShiftAndZoomWindow::Show(bool	state, bool redraw)	// 2-22-02
Replaced Close funtion with Show (close calls show(false) anyway) to fix disappearing button problem

UTeps2000Application.cp
created class variable fInIdleLoop that gets set to true when entering the Idle loop and will
not allow you to enter in the idle loop again
// 2/21/02
// release as v9.1.4

// view 1071 - dont use the word chromakey

// close the other two views when third one is pressed - for template, adjust, and graphic buttons
void TPreviewImageWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

// in new one up mode, center template, adjust, and graphic button view
void TTestWindowBarView::AlignItems ( void )
void TTestWindowBarView::AlignItemSSSS ( void )


// 2/20/02
// v9.1.4b3 - for mike - debug led printer

// try to find out where the parse error occurred
short TKodakScsiPrinterDevice::CheckForKodakPrinterError ( short doVerbose )

// adjust alert  for DisplayNormalMessage
ALRT 1001
adjust size of ALRT 1001 to be able to at least 255 chars in succession

// 2/19/02
// v9.1.4b2 - for mike - debug led printer

// try to do more debug testing with kodak led printer
OSErr TKodakScsiPrinterCmdSet::ReceiveCommand ( long theLen, bool doTesting )
short TKodakScsiPrinterDevice::CheckIfPrinterFreeAndReady ( void )
short TKodakScsiPrinterDevice::CheckForKodakPrinterError ( short doVerbose )


// force corrrect default settings if printer is kodak led printer
short TKodakScsiPrinterDevice::InitKodakJobHeaderForPlanar ( KodakSettings *myKSettingsPtr )

//remove debug messages
Boolean TKodakScsiPrinterDevice::CheckKodakPrinterPIBforLED ( void )


// 2/18/02
// v9.1.4b1 - for mike - debug led printer

// try to debug more of kodak led printer
short TKodakScsiPrinterDevice::FindAFreeAndReadyPrinter ( short *findDeviceType )
Boolean TKodakScsiPrinterDevice::CheckKodakPrinterPIBforLED ( void )

// remove excess debug for color processing of dcr images

// fix dcr meta data block in dcr file
// must pass local imageRef to GetMetaData function
KPDCStatus TBaseKodakProCameraHandler::GetMetaData ( KPDCImageRef &theImageRef, tMetaData	*data)
void TBaseKodakProCameraHandler::ColorProcessImage(GWorldPtr	anOffscreen, KPDCImageRef 		theImage)
KPDCStatus TBaseKodakProCameraHandler::ColorProcessImage48 ( unsigned char *imageData, KPDCImageRef theImage, long desiredWidth, long desiredHeight )

// change warning message if not files are dcr images
void TBaseKodakProCameraHandler::ApplySettingsToOtherImages(bool	markedOnly)


// 2/15/02
// try to get colorsync to process image in 16bit format
CMError myCWMatchBitMap ( CMWorldRef cw, CMBitmap *aCMBitMapPtr );
CMError MyMatchBitmapSourceToDestination48 ( CMBitmap *aCMBitmapPtr, FSSpec	profA, FSSpec profB );
CMError MyMatchBitmapWithKodakDeviceLink48 ( unsigned char *imageData, long width, long height, FSSpec deviceLinkProfFSSpec, FSSpec inputProfFSSpec, FSSpec	outputProfFSSpec );
GWorldPtr TKodakProBackCameraHandler::GetImage(FSSpec	*fileSpec, KPDCUInt16	resID, bool	&wasRotated)	// 11-14-01
GWorldPtr TBaseKodakProCameraHandler::OpenKodak760Image(FSSpec	*fileSpec, KPDCUInt16	resID)
bool TBaseKodakProCameraHandler::CopyImageToFolder(FSSpec	*theFSSpec)
GWorldPtr TBaseKodakProCameraHandler::ProcessImageAndConvertToGWorld ( unsigned char *pbyBuffer, KPDCImageRef theImage, long desiredWidth, long desiredHeight )
short saveDataPointerToFile ( unsigned char *theData, FSSpecPtr myFSSpecPtr, unsigned long bytesToWrite, bool doInChunks );

// try to debug LED printer
#define	kDebugKodakPrinter		true		// 2/15/02
void  TTeps2000Application::ITeps2000Application()
short TKodakScsiPrinterDevice::FindAFreeAndReadyPrinter ( short *findDeviceType )
short TKodakScsiPrinterDevice::CheckIfPrinterFreeAndReady ( void )
short TKodakScsiPrinterDevice::CheckForKodakPrinterError ( short doVerbose )



fix 1x1 issue if 2.78x2.78 is too large to fit in node


// 2/13/02
try to fix colorsync issue with kodak pro images
CMError MyMatchBitmapWithKodakDeviceLink ( PixMapHandle thePixMap, FSSpec deviceLinkProfFSSpec, FSSpec inputProfFSSpec, FSSpec	outputProfFSSpec );



// 2/12/02
doing debug test in trying to trap memory crashes
void SavePreferences()
returns without doing anything



// 2/11/02 after 8pm
// release as v9.1.3 for karen freeze frame

// 2/11/02
mask out the new thumbnail new from the jump button

// 2/11/02
// from mike smith
// save 760 images with .dcr extension in school photography mode
void TCameraHandler::GetFileName(long theNum, CStr255_AC	&fileName)


// 2/11/02
// fix discovery cove version
// sort lists by name not by date/time
CompareResult_AC TSortedFolderList::Compare(const void*  item1,const  void*  item2) const


// put in more test messages when fail to copy source file to destination location
short copyTheFile ( FSSpecPtr mySourceFSSpecPtr, FSSpecPtr myDestinFSSpecPtr, bool overwriteExisting)
OSErr myTFileMoveFile ( TFile *aFile, long destDirID )


// 2/8/02
// if neither updr100/upd50, then never allow checking of second buffer
short TSonyScsiPrinterDevice::CheckIfPrinterFreeAndReady ( void )


// 2/8/02
// try to make led printer show more messages
// change led printer type to 8650 instead of 8600 type


// 2/8/02
void TPreviewImage::StartEdit()		// added five functions 4 virtual 2-5-02
void TPreviewImage::SetDragging ( bool dragging )



// 2/7/02
// add test message in spooler if idle gets called recursively
bool TBackgroundPrintWindow::DoIdle(IdlePhase	thePhase)
bool TPrintBGBehavior::DoIdle(IdlePhase	thePhase)





// 2-8-02
// fix redraw issue of shifting/zooming in new one up mode
void TShiftAndZoomWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 2/7/02
fix upd double buffer issue
force the flag back to FALSE
need to setup prefs for that
short TSonyScsiPrinterDevice::CheckIfPrinterFreeAndReady ( void )

TShiftAndZoomWindow::DoEvent


adlib 1251
menu 1110


// 2-6/02
// do not use toolbar window and special one up adjust window at the same
// time in the new one up mode
void TDropPreviewImage::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC thePoint) 


// 2-5-02

// added support functions for new one up mode
TDropPreviewImage*	TDropView::GetSelectedView()	// 2-5-02
TView*	TDropView::GetFirstViewOfType(IDType	type)	// 2-5-02

// expanded view of thumbnail view
// to multiple rows
// add ability to view more than one row of image
void TN_UPThumbNailView::ScrollTo(IDType	theType, bool OptionKeyDown)
void TN_UPThumbNailView::ResetThumbnailView(bool	large)		// 2-5-02


// try to make special one up and new one up look the same
// special one up will be the new one up with the old special one up mode




// 2/7/02
// release as v 9.1.2

// unfix this problem - caused more problem
// unable to open standard tif files
// speed up loading of folder of many many images
	bool IsValidKodakFile(FSSpec	theFSSpec)



// 2/4/02

// allow n-up of image objects
	ULayoutView.cp
	ULayoutView.h

// set the default graphic attribute to proportional
	bool TLayoutObject::SetProportional ( bool isProportional )
	void TOverlayObject::IOverlayObject(const CViewRect& itsBounds)


// speed up loading of folder of many many images
	bool IsValidKodakFile(FSSpec	theFSSpec)

// so right now, if print quantity is greater than printRemains,
// and printRemains==1, then not Ready
// else printer is ready, with print quantity set to printRemains
	short TSonyScsiPrinterDevice::CheckIfPrinterFreeAndReady ( void )
	OSErr TSonyScsiPrinterDevice::IntializeThisPrinter ( short printerType )

// inside initialize, if PrintRemains is less than desired printQuantity,
// then set the printQuantity to PrintRemains
// this will only get called, if printRemains
	OSErr TSonyScsiPrinterDevice::IntializeThisPrinter ( short printerType )

// 2/1/02
//add support to check paper remains before sending job to updr100 only
//if print quantity>1 and paperRemains==1 then printer is NOT Ready
//move on to next printer
	OSErr TSonyScsiPrinterCmdSet::RemainingSenseCommand ( unsigned char allocationLength )
	OSErr TSonyScsiPrinterCmdSet::FormRemainingSenseCommand ( unsigned char allocationLength )
	short TSonyScsiPrinterDevice::CheckIfPrinterFreeAndReady ( void )


// compile discovery cove version for karen
// v9.1.1b3
// 2/1/02

// link with NON-time bomb version of chromakey library

// change the order of search mech for finding folder
// hopefully this will solve karens seaworld issue
myDirectoryUtils.c
	bool AttemptToFindFolder ( short origVRefNum, long *xorigDirID, tmyFSSpec *atmyFSSpecPtr,short &tempVRefNum)

in spooler
// unmount print to file folder after finding it at startup, for discovery cove only
void TBackgroundPrintApp::IBackgroundPrintApp()


// changes 1/31/02
// fix 760 dcr files default max/min values for whiteBalance
	bool validateMyKodak760WhiteBalance ( unsigned short whiteBalance[3] )


// changes 1/29/02

// add support for kodak 8660 matte ribbon media

added kTBL resources to KodakPrinter.rsrc

add constants and datatype to "TKodakScsiPrinterDevice.h"
	typedef struct kodakTableData
	#define	kKodakDefaultPrinterTableID		128	// defined 1/29/02
	#define	kKodakMattePrinterTableID		129	// defined 1/29/02
	#define	kKodakMaxBitDepthForPrinter		12	// defined 1/29/02

add member to structure and add support for donorBarCode field for 8660
	class TKodakScsiPrinterDevice : public TScsiPrinterDevice,
	typedef struct kodakPIB
	TKodakScsiPrinterDevice::TKodakScsiPrinterDevice()
	OSErr TKodakScsiPrinterDevice::TransferKodakStatusInfo ( const unsigned char *theDataPtr )
	Boolean TKodakScsiPrinterDevice::GetKodakPaperSizeAndType8660 ( const unsigned char *theDataPtr, short doVerbose )

add stuff to read color color table files/resource
copied kodaks table file to resource
	short TKodakScsiPrinterDevice::BuildColorTable ( unsigned char* dataPtr, short Loc )
	short TKodakScsiPrinterDevice::BuildColorTableNew ( unsigned char* dataPtr, short Loc )
	OSErr TKodakScsiPrinterDevice::ReadColorTableFromResource ( kodakTableData &curKodakTableData )
	unsigned short kodakSwapBytes ( unsigned short data, short needsToSwap )
	typedef struct kodakTableData

// start to add stuff for kodak led printer
	short TKodakScsiPrinterCmdSet::matchPrinterDevice ( myScsiDevicePtr myDevicePtr )
	Boolean TKodakScsiPrinterDevice::GetKodakPaperSizeAndType ( const unsigned char *theDataPtr, short doVerbose )
	Boolean TKodakScsiPrinterDevice::GetKodakPaperSizeAndTypeLED20R ( const unsigned char *theDataPtr, short doVerbose )





// TEPS-2000
// changes 1-30-02
v9.1.1b2

creditCheck always return ccCredit

message saying queue printing not supported in drag and drop and fill template mode
void TPrintToolbarWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

shift Duplicate will allow you to fill page with Image Objects (like Nodes)
void TLayoutView::DoMenuCommand(CommandNumber aCommandNumber)

fixed bug that caused image to be shifted outside graphics bouns
void TOneUpPreviewImage::Prepare4Drawing()

fix filename stamp in CK mode - always stamps the first one
GWorldPtr TPrintView::Draw4Printing(short	dpi, short	imageNumber, templateInfo	*aTemplate)

// discovery cove - changes 1-29-02
reversed view order in Ad Lib
- first freeze frame startup next freeze frame folders next card reader prefs

no message if not found SPOOLER folder
bool AttemptToCreateDefaultFolder ( bool autoCreateFolder, short &vRefNum, long &dirID, tmyFSSpec *atmyFSSpecPtr, 
									CStr255_AC newFolderName, Str255 newFolderTypeStr, TView	*aboutView )


TEPS-SPOOLER
unmount print 2 file volume after saving
short 	TPrintView::Print2File(GWorldPtr	anOffscreen)

volume name was never saved 
void TPrintToFilePrefs::UpdateFolderString(IDType	identifier, tFolderFSSpec *ptr, bool saveAliasHandle)

missed ALRT 2000

// discovery cove
need a clear text action
doEvent does not filter through
updated view 2036 for keyboard view


// teps
// need fix for
1. when no prefs exists, the default setting is set to file
by setting to kodak camera only, it does not perform a start sitting...
after prompting for folder name and base name, it will go back to main menu
- if input is to camera hot folder, this works ok

2. need to read and verify the white balance of 7xx images before trying to get thumbnail or hi res image

3. please check to see if the changes for 1/18/02 are okay or not
   any possible side effects??????
   


// 1/18/02
// version 9.0.7

// make progress box larger for pc-card copy so that longer names can be displayed
adlib 9012

//fix initialization of white balance value with 7xx cameras
tKodak760Settings	*getMyKodak760Settings()
void validateMyKodak760Settings(tKodak760Settings	*settings)
bool validateMyKodak760WhiteBalance ( unsigned short whiteBalance[3] )
KPDCStatus TBaseKodakProCameraHandler::SetNewWhiteBalance(KPDCUInt16 		whiteBalance[3])
KPDCStatus TBaseKodakProCameraHandler::GetCurrentWhiteBalance(KPDCUInt16 		whiteBalance[3])

//added grab command for 7xx camera
KPDCStatus TBaseKodakProCameraHandler::GrabMode()
OSErr TNewKodakCameraHandler::GrabMode()

// fix searching for incorrect filename after grabbing 760 image
GWorldPtr TNewKodakCameraHandler::GetPreviewImage( FSSpec theFSSpec )



// 1-18-02
void TPrintServerPrefs::DoPostCreate(TDocument	*aDocument)
disable and dim saveJobFileAfterPrinting choice for discovery cove version

TEPS SPOOLER
raise job version number to kJobVersion8

// 1-17-02
when creating job files and "SPECIAL" in temple name always send to spooler 2
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now)
bool findSpooler2(FSSpec	*spec)	// 1-17-02

TEPS SPOOLER
add a field to print spooler prefs - saveJobFileAfterPrinting changed PrintServerPrefs.cp
implementation
bool TPrintBGBehavior::DoIdle(IdlePhase	thePhase)

// 1-16-02
do better resize in drag and drop view if image is smaller than view
void TDropPreviewImage::Prepare4Drawing(bool	forceRedraw) // 1-30-01 added bool forceRedraw default is true
created new function
void myNewCopyGWorldToGWorld(GWorldPtr sourcePtr, GWorldPtr destinPtr, CRect_AC	srcRectPtr, CRect_AC	destRectPtr)	// 1-16-02

fix progress indicator for dummy camera get files root dir mode
OSErr TDummyCameraHandler::ProcessFunction7()

added resource thumbnail to Generic File Handler
GWorldPtr TGenericFileHandler::GetThumbnailImage()

added stampChoice field to TStampObject to support longDate , abbrevDate
void TStampObject::ReadFrom(TStream* aStream)
void TStampObject::WriteTo(TStream* aStream) const
CStr255_AC	TStampObject::GetStringToDrawForPreview()
CStr255_AC TStampObject::GetStringToDraw4Printing()
bool TStampObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi)
void TNodeViewObject::FindImageInNodeAndSetFSSpec(FSSpec	imageFSSpec, TStream	*aStream, short curImage)
void TNodeViewObject::FindImageInNodeAndSetFSSpec4DragAndDrop(FSSpec	imageFSSpec, TStream	*aStream, short curImage)
void TTeps2000Application::GetStartSittingFolderCreationStrings(CStr31_AC	&dateString, CStr31_AC	&timeString, CStr255_AC	&folderName, short	dateChoice)

add to stamp settings window
void TStampSettingsWindow::SetStampObject(TStampObject	*anObject)
void TStampSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

always write tPrintInfo struct to match teps and discovery cove
void TPrintView::WriteHeader(TStream	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings)

SPOOLER: always read tPrintInfo struct
void TPrintView::ReadObjects()

// 1-15-02

when start sitting mode is pc-card files and option to check all subfolders
within that pc-card is on, a different progress box is shown.

this progress box seems like it is locked up when no subfolders are
available...

we want to show realtime progress when we are copying files from the root
directory as well as from subfolders... progress only shows found # AFTER
each folder scan... can we have this update during each file being
copied????

at least show that the folder is "root" when not in subfolder...
changes in:
OSErr TDummyCameraHandler::ProcessFunction7()
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress, bool force)	// 9-11-01
short TDummyCameraHandler::AddAllFilesInSubFoldersToList(FSSpec	theFSSpec)
short getAllFilesInFolder(FSSpec	theFSSpec)

created validation functions for Discovery Cove
void validateFreezeFrameFolderPref(tFreezeFrameFolderPrefsPtr ptr)	// 1-15-02
void validateCardReaderPref(tCardReaderPrefPtr ptr)	// 1-15-02

call validation function
void TTeps1000Preferences::ReadPrefs()

convert manual entered file name to upper case after clicking OK
short	getCustomerIDManually(tCustomerCreditInfoPtr	ptr)



// 1-14-02
fixed a bug that would scramble image after zooming out and changing the graphics (in chroma key mode)
void TDropPreviewImage::Prepare4Drawing(bool	forceRedraw)

short TGeneralPrintHandler::Print()
added RescanTpiRainbowKeyHandler()->GetTPIKeyExists() to make sure key is there at the moment of printing

TEPS-SPOOLER
bool TBackgroundPrintWindow::HandlePathSelect(TToolboxEvent* event)	// 12-19-01
set proxy icon to correct spooler folder path

bool TPrintBGBehavior::DoIdle(IdlePhase	thePhase)
add a RescanTpiRainbowKeyHandler()->GetTPIKeyExists before inserting the next job and quit if key is gone


// release as v9.0.6
// 1-10-02
// SPOOLER - make sure image without nodes are deleted after spooled
Boolean TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)


// release as v9.0.5
// 1-10-02
void TMainWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
added option to copy images to disk while in fuji camera mode

also changed MENU 2001 and view 1000


// 1-8-02
bool TDropView::HandleMouseDown(const CViewPoint& theMouse, TToolboxEvent* event,
							   CPoint_AC hysteresis, EMouseDownType mouseDownType)
fixed a bug that did not allow you to change a background in 2nd 3d etc node

bool TPreviewWindowPrefs::IsChanged()
fixed a bug that did not enable/disable revert button correctly

enabled save and load packages buttons again

abrevDate or longDate string could easily be supported (Karen)
however also for sitting folder name ?

what about pref for full size/ preview size if loading in preview window?

// 1-4-02
bool TSelectImageWindow::SetImageToShowSpecs(FSSpec	dir, long	image, CStr31_AC	folderName)
make search in all subfolders work correctly for prompt for images

// 1-3-02
void validateInternetUploadPrefs ( tInternetUploadPrefsPtr ptr )	// 1-3-02

added doNotScrollToEnd to tPreviewPrefStruct
use in
void TN_UPThumbNailView::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)

changed packages to be saved to preference file instead of package file

// issues to look into
thumbnails without images 
log file for spooler statistics
Conversion to new spooler with pausing option
80 packages 2/3 of the way error, lose all packages

add packages to teps preferences file
do not scroll (to end ) thumbnail option when new file comes in

// to be added
no spaces at first position of customer name
INVALID characters used

WRITE CORRECT SESSION FOLDER NAME TO PRINT INFO FILE

Search for file option (3-up, 5-up, etc.) seems to be working OK

// 12-14-01
// 12-17-01

changed view 1125
changed ALRT 1055, created new ALRT 1057

fixed bug that caused an error at jumping to image editor if filename was too long
void	getUniqueNameWithCopy(FSSpec	*fileSpec)	// 12-14-00

fixed bug that caused image to shift incorrectly if image < template size
void TOneUpPreviewImage::Prepare4Drawing()

added new graphics grid view to copy to spooler window
void TCopyToSpoolerWindow::DoPostCreate(TDocument	*aDocument)

created a function to create cache files from graphics files
bool createCacheFileForGraphicsFolder(CStr31_AC	category, bool warn, TCtlMgr	*control)	// 12-14-01	

added two buttons to copy to spooler window to create cache files for a category/all categories
void TCopyToSpoolerWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

// 12-13-01
created new function:
void createGraphicsFolderPopup()	

SPOOLER
added PollEvents for spooler in
void TPrimatteMgr::DisplayImage ()

changed the following function to check for memory errors
bool doChromaKeying(GWorldPtr	fgOffscreen, GWorldPtr	bgOffscreen, GWorldPtr	outOffscreen, fixcoef	*para)
OSErr TPrimatteMgr::InitializeNew()

bool TPrimatteMgr::AllocateMemory1() 	// 12-13-01 changed from void to bool
bool TPrimatteMgr::AllocateMemory2() 	// 12-13-01 changed from void to bool
bool TPrimatteMgr::AllocateMemory3() 	// 12-13-01 changed from void to bool

do not continue if an error occurs in drawing a sub job
short TPrintBGBehavior::DoPrint(FSSpec	theFSSpec)

show status message for drawing overlays and poll events
Boolean TFileOverlayObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)


// 12-12-01
added 'view' resource 1352 that gets pasted instead of 1350 (TGridView instead of TCluster)
created new class: TGraphicsFolderPopupView in file SelectOverlayFolderView.cpp

changed following functions to create view 1352 instead of 1350
bool promptForOverlayCategoryBeforePrinting()
TWindow *CreateSelectOverlayFolderWindow ( void )

added new Balloon Behavior for TGridView
THGridViewBalloonBehavior

added Balloon Behavior to Graphics Folder List
void TFolderOverlayList::SetCategory(CStr255_AC		category)


// 12-11-01
Enable print package mode for new one up mode
removed some lines in:
GWorldPtr TDropView::Draw4Printing(bool preview, bool saveToFile)
GWorldPtr TTepsPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)

added source in:
short TGeneralPrintHandler::PrintCanvas()

made a change in
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)
OSErr TPreviewImageWindow::PrintPackage(short item, Boolean	spool, Boolean preview, Boolean now)

show status message in:
bool TFileOverlayObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)

TEPS SPOOLER
added aFile->CloseFile() if kTPI_ReadJobError in:
bool TPrintBGBehavior::DoIdle(IdlePhase	thePhase)


// 12-10-01
created new function to check version number
bool	checkForValidVersionNumber(tPrefStruct	*aPrefStruct)
use it in:
void TTeps1000Preferences::ReadFrom(TStream* aStream)
and:
bool CopyDataAndReplaceOldResourceFork(TFile	*srcFile, TFile	*dstFile)
(loading preferences from menu)

// 12-07-01
TPreviewImage::DrawForDemo
added this->Focus

// 12-05-01
improved update for kOneUpFillTemplateMode
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)


// v 9.0.1

// 11/20/01
next version to be v9.0.1
fix memory leak issue with acquiring 760 images - some sort of timing issue
bool TNewKodakCameraHandler::Check4NewFiles() - set idle freq to kMaxIdleTime when getting image

// other changes during this period
- enable previews of ProBack images (have NOT tested with tethered proback camera)
- split NewKodakCameraHandler class into new baseClass
- fix chromakey windows, layouts, texts, and icons
- bring in proback images in chunks to reduce required physical memory
- added object class to handle chunks - TBufferFile class defined


// CHANGES MADE IN DISCOVERY COVE VERSION 11-27-01

// 11-28-01
change TMyControl : public TNoHighLightControl

added class TNoHighLightPicture to stop flickering

changed
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now)
to work correctly for discovery cove version

changed resources
view 1606
view 2014
view 2036

// 11-27-01
File: PackageUtils.c
added #ifdef for Discovery cove package file name 

short	getCustomerIDManually(tCustomerCreditInfoPtr	ptr)
removed 		//ptr->groupNumber = ((TEditText*)aWindow->FindSubView('grou'))->GetText();	// 11-27-01

CStr255_AC	convertDate2String(unsigned long	seconds)
changed abbrevDate to longDate

added class TKeyBoardView to handle on screen keyboard

void TBuyPackageView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
- removed DoNewTest function that displayed the items in a package

void TSalesStationWindow::GotoBuyPackageView(long	imageNumber)
- changed GetNumberOfPackages function call to kMaxNumberOfPackages (maximum is 6)

bool TTeps2000Application::ArePicturesOK(short	vRefNum, long parID)
- always return true, pictures are always OK

void TSalesStationWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
- only confirm once if these are your pictures

changed view resource 2036 (enter customer id manually) so that it has a on screen keyboard
to enter the customer name

// 11-12 - 11-16
Created support for proback images, created new classes:
- TBaseKodakProCameraHandler
- TKodakPro3SLRCameraHandler
- TKodakProBackCameraHandler
created class TBufferFile to write buffer to file and read it back to a handle or offscreen
(rotated if necessary)

//  match changes from concurrent version

// 11/19/01
release as v9.0b47 to michaels photography to solve issue with adding item in packages
fix adding new items to package
void TPackageEditWindow::AddItemToPackage()

// 11/8/01
release as v9.0b46
UPrintView.cp - SPOOLER
void TPrintView::ReadColorCorrectionValue(TStream	*aStream, short	thePrinterType)
	make sure pg3500 reads printer color settings when in spooler
	display message if printer does NOT read color settings unless it is kPrint2File

make sure case kPictrography3500: is included in all the right spots	// 11/8/01
	short TPrintView::SendToPrinter(GWorldPtr	outputOffscreen)
	short TPrintView::DoFujiPrintNew(GWorldPtr	anOffscreen)
	void TPrintView::ReadColorCorrectionValue(TStream	*aStream, short	thePrinterType)

match STR#4002 with FG and Spooler


// 11/7/01
release as v9.0b45
try to fix pg-3500 issue for michael smith
OSErr TFujiScsi2PrinterDevice::SetupModeSelectParameter ( short w, short h, short xOff, short yOff, short doPrintNow, short transferMode, short scanMode, unsigned char pageCode )

// 11/7/01
update chromakey look and feel and wording
got new tchromakeywindow.cp file from edwin
updated STR# 4116
changed chromakey tool labels 1204
changed fine tune window resource 2123



// 11-06-01
- go to the right directory (main or internet)
void chooseAndDeleteFolder(IDType	type)	// new 10-29-01
- always show foldername even if there is no file or folder present
long TFolderListView::InitializeFileList()

added class TIconShowBalloonBehavior to display description of chromaKey icons STR#4116

changed all global variables in TChromakeyWindow to be class variables
// 10-31-01
// 11-01-01
changed color tuning window to floatwindow
change color of color tuning window control on the fly while dragging
+ all issues associated with it

// 10-29-01
option-command click delete allows you to delete any folder (that has no subfolders)
void TFolderListWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void chooseAndDeleteFolder()	// new 10-29-01


created a new function that loads the kodak 760 image defaults
void TClickBalanceView::LoadDefaults()	// 10-29-01

// 10/31/01
make sure min crop value is set - made change in v8.0.5
	void TCroppingMarkWindow::DoPostCreate(TDocument	*aDocument)

make sure 760 camera images are closed so we can delete them later
	short	createAndOpenFile(FSSpec	*tmpFSSpec, OSType	theFileType);

fix spooler to find all profiles when matching input/output
	bool FindProfile(OSType		profileClass, FSSpec	*theFSSpec, Str255	theProfileName)


// 10/30/01
release as version v0.0.7b43 - for ethan
remove message if 760 camera not found
	bool TNewKodakCameraHandler::DCS760FindAndSetupCamera()


// 10-26-01
// 10/26/01

move camera app launch after start sitting has truly started
	void TTeps2000Application::StartDirectConnectWithoutCard()

only initialize kodak camera lib for firewire if input is kodak camera with and without card
	void TNewKodakCameraHandler::InitializeForKodak760()
make sure fSDKFor760ImagesLoaded is initialized properly
	TNewKodakCameraHandler::TNewKodakCameraHandler()

added pref to colorsync prefs - button to launch colorsync control panel
	void TColorSyncPreferences::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

added pref to input prefs - allow user to bring camera app to front when launched
	bool setMyInputPrefToFactoryDefaults ( tInputPrefPtr ptr )
	TInputPreferences::~TInputPreferences()
	bool TInputPreferences::IsChanged()

view 1130
view 1057
ALRT 1004 - save chroma key setting


// 10/25/01
make the image preview window show proper composite of multiple chroma-key layers
	void TDropPreviewImage::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC thePoint) 
	void TDropPreviewImage::NewPrepareOverlayOffscreen()	// 10-25-01
	void TDropPreviewImage::RedrawIntersectedView()
	void TDropPreviewImage::Prepare4Drawing(bool	forceRedraw) // 1-30-01 added bool forceRedraw default is true

enable undo after loading default chroma key setting
	void TChromaKeyView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
	TLoadDefaultCommand::TLoadDefaultCommand(CommandNumber itsCommandNumber, TPrimatteMgr	*aMgr, TView	*itsView, TView	*chromaView) :


// 10-24-01
fixed but that caused volume and folder name not to show up in customize backup window
void TCustomizeBackupWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

added a feature that shows a prompt if two or more graphics are on top of each other
created new class TPickOverlayWindow in UOverlayView.cp
added
bool TDropView::HandleMouseDown(const CViewPoint& theMouse,				// 10-24-01
							   TToolboxEvent* event,
							   CPoint_AC hysteresis,
							   EMouseDownType mouseDownType)
added view 1130
added MENU 1024

check if Colorsync extension is present

// 10/23/01
check for chroma key
void TDropPreviewImage::Draw(const CViewRect &area)
short TImageObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi, CStr255_AC	&fileName)
Spooler:
Boolean TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)


// 10/22/01
//fix preview of first image in start sitting mode
	bool	TCameraHandler::ConfirmSaveImage(bool	&saved, FSSpec	*saveFSSpec)

// 10/19/01
//changed a whole bunch in KodakProCameraHandler.cp

create new function to replace older one
	bool TNewKodakCameraHandler::Copy760ImageToFolderNew(FSSpec	*theFSSpec)

bool TNewKodakCameraHandler::TransferFile(KPDCIORef		theSrcIO, KPDCIORef		theDstIO, KPDCInt32	lFileSize)
	remove error message - image will be acquired the next time around?

bool TNewKodakCameraHandler::CopyImageToFolder(FSSpec	*theFSSpec, bool	overwriteExisting)
	dont fall thru if 760 camera

make sure that function is NOT recursing
	bool TNewKodakCameraHandler::DCS760FindAndSetupCamera()


// 10/18/01
// 10/17/01
//changed a whole bunch in KodakProCameraHandler.cp

add grab command
	OSErr TNewKodakCameraHandler::GrabMode()

create new function to replace Find760Camera
	return DCS760FindAndSetupCamera();

added new member functions
		KPDCStatus	DCS760DisableCapture ( short doDisable );	//10/18/01	// 10/17/01
		KPDCStatus	DCS760DeleteImages ( void );				//10/18/01	// 10/17/01
		void		DCS760LoadAndIntializeLibrary();	// 10/18/01
		void		DCS760UnloadAndFreeLibrary();		// 10/18/01
		bool		DCS760FindFirstCamera ( KPDCCameraRef *foundCameraRef );	// 10/18/01
		KPDCStatus	DCS760GetCameraMemoryFolderName();	// 10/18/01
		KPDCStatus	DCS760InstallCameraEventFilter ( bool doInstall=true );	// 10/18/01
		KPDCStatus	DCS760SetProperty ( char *propertyName, void *propertyData );	// 10/18/01
		bool		DCS760FindAndSetupCamera();			// 10/18/01

bool myLoadOtherPackageFile()	// 9-17-01

// change the text strings for chromakey
void TChromaKeyView::SetOperationMode ( short opMode )

// change warning message after converting package file to new vers
	void UpdatePackageFileAndGotoSetupWindow ( void )

// added files from edwin
copied PackageUtils.c - fix crashing problem when cancelling
copied TChromakeyWindow.cp




// 10-12-01
SaveAs did not save as KodakTIF
void TTEPSFileHandler::SaveToFolderWithNewName(short vRefNum, long	parID, long	fileNumber, bool showProgress, CStr255_AC	newName)

Set Default template for chromaKey
Boolean setMyNewOneUpPrefToFactoryDefaults ( tNewOneUpPrefPtr ptr )


// 10-11-01

edwinsglobals.c
test for <= kNumberOfPrinters
void initializePrinterPopupSettings()
	for(short i = 1; i <=kNumberOfPrinters; i++)	// 10-11-01
preferenceswindow.cp
void TCanvasPrefs::DoPostCreate(TDocument	*aDocument)


- when filename stamp with "dont print extension" and "dont print
imageNumber" both on,
FG works fine - BUT spooler fails!!!!
spooler:
void TStampObject::ReadFrom(TStream* aStream)
Boolean TStampObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)


// 10-10-01
- enable colorsync for previews
void DoPrintPreviewWithSlideWindow( GWorldPtr offscreen1, GWorldPtr offscreen2, short	rows, short	cols, 
																	TImageFileObject	*obj1, TImageFileObject	*obj2)
changed: bool matchImageToMonitorProof (GWorldPtr	outputOffScreen)

- process 760 images in strips
GWorldPtr TNewKodakCameraHandler::GetKodak760Image(FSSpec	*fileSpec, KPDCUInt16	resID)

- editable text do not reload 
created new functions:
void TDropView::ResetEditText(CPoint_AC	topLeftPoint)	// 10-10-01
void TNodeViewObject::ResetEditText()	// 10-10-01
void TBaseTextObject::ResetText(CPoint_AC	topLeftPoint)	// 10-10-01
changed function:
void TPrintToolbarWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

- change template change mind do not clear template
void TPreviewImageWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
changed 		case 'chtm': statement

- load and save package file - "Teps Packages File"
created function:
bool	writeCanvasResourcesToFile(TFile	*aFile)	// 10-10-01
changed:
void UpdatePackageFileAndGotoSetupWindow ( void )
void SavePreferences()

// 10-9-01

to do list:
	- process 760 images in strips
	- editable text do not reload 
	- change template change mind do not clear template
	- load and save package file - "Teps Packages File"
	- colorsync Gworld problem

// 10-8-01
GWorldPtr TNewKodakCameraHandler::GetKodak760Image(FSSpec	*fileSpec, KPDCUInt16	resID)
	added a chekc to see if the library was loaded and initialized
void TNewKodakCameraHandler::InitializeForKodak760()
	added a message if library was not loaded
// 10-5-01
show all printers and all canvases in package window
change printer popup res id from 1003 to 1008 in view 1081

added function:
void TPackageEditWindow::SetupCanvasMenu(short	item)
changes function:
void TPackageEditWindow::DoPostCreate(TDocument	*aDocument)
void TPackageEditWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TPackageItemGridView::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC	thePoint) 
			short theItem = FindStringInResourceMenu(theString, kAllPrintersMenuID);	// kUsedPrintersMenuID 10-5-01

check if canvas item has a valid template file associated with it
void TPackageEditWindow::AddItemToPackage()

changes GetCanvas to getMyCanvas to use fixed canvas position not relative to use 
short TGeneralPrintHandler::PrintPackage()
same for
bool	validatePackage(short	item, short	imageNumber)

CStr255_AC 	TPackageItemGridView::GetText(const GridCell& aCell) const
change GetCanvasString to getMyCanvas

// 10-4-01
added source to get the full res file size when acquiring the thumbnail
GWorldPtr TNewKodakCameraHandler::GetKodak760Image(FSSpec	*fileSpec, KPDCUInt16	resID)

fixed rotated text prblem on colored background
added funtion in moreincludes.c
bool myCopyGWorldToGWorldPixelByPixel2 ( GWorldPtr mySourceGWorldPtr, GWorldPtr myDestGWorldPtr, CRect_AC dstRect, CRGBColor_AC	color)//10-4-01
changed the following function to call myCopyGWorldToGWorldPixelByPixel2
bool TTextObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)


// 10/3/01
adlib #1015
adlib #1000
// 10/3/01- look for changes

// 10/3/01
in teps-spooler preferences, turn OFF option to "map newlines to CR"





// 10-3-01
fix key bug in Printqueue window
void TPrintQueueWindow::DoIdleQueue()
void TPrintQueueWindow::SendAllJobsToSpooler()
short TGeneralPrintHandler::PrintForQueue(short	quantity)	// new 10-3-01

implemented support for 760 camera in KodakProCameraHandler.cp

// 10-2-01
only unmark images that are actually printed
file: TepsFileHandler.cp
void TTEPSFileHandler::SavePrintedFiles(bool	isPreview)

always add files to remove list whether auto remove is on or not so I can use list for unmarking
void TTEPSFileHandler::AddFileToRemoveList(short	objectNum)
	//if (getMyPrintingPrefs()->autoRemoveAfterPrinting == true )	// removed 10-2-01



fixed bug that caused objects after a TImageObject with fDoComposite==on not to show up
void TImageObject::ReadFrom(TStream* aStream)
	if (fDoComposite)	// 10-2-01 write compositing struct
	{
		fixcoef	para;
		aStream->ReadBytes(&para, sizeof(fixcoef));
	}


// 10-1-01
made change to make nodeviewobject tool show up for chromakey templates
file: UtilitiesWindow.cp
void CreateNewLayout(IDType	theType)
	if (theType==kTemplateType || theType == kTemplateType2) viewRsrcID = cTemplateDesignWindow;		// 10-2-01
void gotoTemplateEditor(IDType	layoutType, FSSpec	theFileSpec, TWindow	*returnWindow)
	if (layoutType == kTemplateType || layoutType == kTemplateType2) windowNumber = cTemplateDesignWindow;	// 10-2-01

// 9-27-01
Teps Spooler
Made change to read Kodak 760 imges
changed file: readfileutils.c
GWorldPtr	ReadFile2(TFile	*aFile, short	imageSize)

 
// 9-24-01 - 9-29-01

Created new file KodakProCameraHandler.cp
made changes to:	ClickBalanceWindow.cp 
					ClickBalanceWindow.h 
					NewKodakCameraHandler.h
					NewKodakCameraHandler.cp
					Teps2000.rsrc

// 9-21-01
Added new window to TEPS2000.rsrc
- view 2125
Created new files clickbalancewindow.cp and .h
changes in MacAppClasses.cp
	REGISTER_CLASS_AC(TClickBalanceWindow);			// 9/21/01
	REGISTER_CLASS_AC(TClickBalanceView);			// 9/21/01



// 9/20/01 - includes 9/21/01

// added support for 760 images to load correctly - ie, color processed

CMError MyMatchBitmapSourceToDestination ( PixMapHandle thePixMap, FSSpec	profA, FSSpec	profB);
	added function

// declare prototypes 9/20/01
CMError myCWMatchPixMap ( CMWorldRef cw, PixMap *thePixMapPtr );
CMError MyMatchBitmapSourceToDestination ( PixMapHandle thePixMap, FSSpec	profA, FSSpec	profB);

// allow color processing of 760 images
CMError MyMatchBitmapWithKodakDeviceLink ( PixMapHandle thePixMap, FSSpec deviceLinkProfFSSpec, FSSpec inputProfFSSpec, FSSpec	outputProfFSSpec );
bool colorProcessKodakProImage ( GWorldPtr outputOffScreen, FSSpec deviceLinkProfFSSpec, FSSpec inputProfFSSpec, FSSpec	outputProfFSSpec );

// support funcs for 760
KPDCStatus testGetAttributeValueString ( KPDCImageRef theImage, KPDCProcs *theProcsPtr, KPDCUInt16 dwInfoID, KPDCDataType dwAttrType, char *dwInfoString  );
#define	kProductLook		1	// 9/20/01
#define	kPortraitLook		2	// 9/20/01
GWorldPtr TNewKodakCameraHandler::GetKodak760Image(FSSpec	*fileSpec, KPDCUInt16	resID)


// 9-20-01
implemented save and load button in PackageWindow
put new Kodak 760 images stuff in
Locate button on find pc card window works as start sitting
display pc-card was unmounted in status window when card is unmounted.
Beep if repeat start sitting is not supported


// 9/19/01

???? need to remove start sitting status from file that is "polling for new files"


???????
fix start sitting from pc-card with sub-folders enabled...
	got 5 files from edwin - need to document what changes were

added save/load buttons in setup packages window


// 9/18/01
void TNewOneUpPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
	show template2 type when selecting new chromakey template file as default

void TUtilitiesWindow::DoPostCreate(TDocument	*aDocument)
	add new button to utils window

void TUtilitiesWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	/*event*/)
	handle pop9
TPopupCommand::TPopupCommand(TView	*aView, IDType	theType) :
		TCommand(1100, aView->GetContext(1100),false, false, NULL)
	handle pop9


RESOURCE Changes
================

added pict #421 - setup chromakey templates

change wording for save/load package sets
CMNU 4

fix look of new one up mode
adlib 1107

fixed hi to high
MENU #2008 and #2011

fixed icon #142

need to have sub menu items like prefs for new one up mode
- for single, and drag &drop modes

fix utilities window
adlib 1001
make popup show up first time by turning off the "shown" option for "pop7"8,9;


resource 1108



// 9-18-01
HOT folder no longer exist message still shows up after ejecting card!!!
from start sitting with
input as file????????????????????????????

same with "Volume missing or invalid" when we cancel from window looking for
pc-card???????
void TThumbnailToolsView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
bool TDummyCameraHandler::Check4NewFiles()

camera app is always launched even when input is set to file??
void TTeps2000Application::StartDirectConnectWithoutCard()

Do not bring camera app to front
OSErr LaunchApplicationByFSSpec(FSSpec fileSpec, bool showWarning, bool	bringToFront)	// 9-18-01


// 9-17-01
added functions in UtilitiesWindow.cp
added void GoToChromaKeyTemplateWindow()	// 9-17-01

added view 1129 'Setup ChromaKey Templates Menu'

changed view 1071 and 1401 to say ChromaKey Template

- update prefs for New One Up mode
  - when clicking on select template - open up "ChromaKey Template Folder"
void TNewOneUpPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

- duplicating and loading package files
file: CommandNumber.h
const CommandNumber		cDuplicatePackageFile		= 1216;	// 9-17-01
const CommandNumber		cLoadOtherPackageFile		= 1217;	// 9-17-01
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)
void TTeps2000Application::DoSetupMenus()

added funtion in file: PackageUtils.c
void myDuplicatePackageFile()	// 9-17-01


- Launch app when choosing start sitting
 only show when dummy camera hot folder mode
void TInputPreferences::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TInputPreferences::SetSettings(tInputPrefPtr	ptr)
void TTeps2000Application::StartDirectConnectWithoutCard()

'set default folder button action' in thumbnail window prefs
added item to MENU 2031
void TThumbnailToolsView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
		switch (getMyPreviewPrefs()->folderButtonDefault)	// 9-17-01

// 9-14-01
school photography mode interferes with new one up mode (selecting template)
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)

	// moved down 9-14-01
#ifdef kSchoolPhotography


worked on new features for chroma keying

changed file: DropPreviewImage.cp
void TDropPreviewImage::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC thePoint) 

changed file: TChromaKeyWindow.cp + TChromaKeyWindow.h
search for // 9-14-01

changed file: Teps2000.rsrc
added view 2123

fixed bug to close app when quitting after loading pref file
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)
		case cLoadNewPrefFile:


fix editable text problem in drag and drop view
short TDropView::WriteViewObjects(TStream	*aStream)
			if (aLayoutObject->fType==kEditTextObjectType)	// changed 9-14-01


// 9-12-01
mark all images did not mark unloaded images
bool TN_UPThumbNailView::DrawThumbNailsThread()

// 9-11-01
changed colorsync prefs to have a description field for all printers
typedef struct tColorSyncPrefs

added repeat start sitting option

// 9-10-01
made changes to drag overlay just like image thumbnails
file: UFolderOverlayList.cpp
void TFolderOverlayList::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event, CPoint_AC	thePoint) 

file: UOverlayView.cp
added function: void HandleDropOverlay(TView* theView,const CViewPoint& theMouse,TDataPackage* theDataPackage)
void TOverlayView::DoPostCreate(TDocument	*aDocument)
	fDropOverlayHandler	= NewSimpleDragHandler(this,::HandleDropOverlay,'ovly');
	
file: ImagePackage.h + cp
class TOverlayPackage : public TDataPackage

// 9-7-01
added a separate folder for new (primatte) templates
changed files:
DropView.cp
PreviewImageWindow.cp
UTeps2000Application.cp

// 9-6-01
void TPackageButtonView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
((TView*)source)->ViewEnable(false, kDontRedraw);	// 9-6-01 Disable button on entry
((TView*)source)->ViewEnable(true, kDontRedraw);	// 9-6-01 Enable button on finish

// 9-5-01
always show all profiles instead of those with a specific type
void MyProfileSearch(OSType		profileClass, FSSpec	*theFSSpec, bool useMacStandGamma, CStr255_AC	&profileDescription)
	searchSpec.searchMask	= (cmMatchAnyProfile);	// 9-5-01
	



// 7/17/01

// added stuff for testing chroma key into the Teps2000Debug Target
added ChromaKey Group to Main Group
	TChromaKeyWindow.cp
	PrimatteLib_debug
void TTeps2000Application::DoSetupMenus()
	Enable(1253, true);	// 7/17/01 chromakey	6/11/01
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)
		case 1253:
				extern void TestChromaKey();
				TestChromaKey();
				break;

// remove remains of "master server" references
void TSaveToServerCommand::DoIt()
#define	kCopyToServerTitleMessage	"Copying Images To Backup Folder"	// defined // 7/17/01
adlib #1079


// 7-16-01
add NewOpeUpPrefs.cp and .h for new preview image mode

void TTeps1000Preferences::ReadFrom(TStream* aStream)
void TTeps1000Preferences::WriteTo(TStream* aStream) const
read and write new prefs
bool TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
add kCropAndResizeImage or kResizeImageToFit and match orientation to new one up image mode
added fDoComposite to TImageObject
void TImageSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
added checkbox for composite to image settings window

// 7-13-01
bool TNewFujiCameraHandler::Check4NewFiles()
added line to add the file to fSavedFileList to be used for backup of sitting folder
bool TNewKodakCameraHandler::CopyImageToFolder(FSSpec	*theFSSpec, bool	overwriteExisting)
added line to add the file to fSavedFileList to be used for backup of sitting folder
StartSittingPrefs.cp and .h added new variable copyWhat for Backup
#define	kCopyFromSittingFolder		0
#define	kCopyFromThumbnailWindow	1

SaveToServerCommand.cp
void TSaveToServerCommand::DoIt()
new if-statement to determine if we are copying from thumbnail window or sitting folder

CameraHandler.h
Added function:
CList_AC			*GetSaveFileList() { return fSavedFileList; };	// 7-13-01

// 7/12/01

// unable to find image when prompt for image because
// of cast problem
// cast from short TO long
short findFileInAllFolders(FSSpec	theFSSpec, long image, TTEPSFileHandler	*aHandler, short	theMax)		// 1-22-01

// 7/11/01
// dim out all extra basename options when basename is custom2 - noerr's santa version
void TCustomFileNameWindow::AdjustForCustom2Mode ()
void TCustomFileNameWindow::EnableMoreOptionsViews_Custom2Mode ( )

// if input is file, do NOT prompt for "Delete Hot Folder" Images
// when returning to main
OSErr TDummyCameraHandler::ProcessFunction11()	// created function 2/8/01

// 7/9/01

//fix problem when hitting return button on Import Overlay Window
//it was closing the external video monitor instead of its own window
void TImportWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
	// use this call in future to post any close window command	
	gApplication->PostCommand(new TCloseWindowCommand(0, this));	// replace 7/9/01

// change status message when copying to master server folder
// dont want to use the phrase master server copy
bool TSaveToServerCommand::SaveAsCustomType(FSSpec	copyFSSpec, short	fileType) // changed 7-27-00
	gProgressIndicator->SetStatus("Copying Image To Backup Folder");	// 7/9/01

// change slide show control window status messages
#define kStartSlideShowString		"Press the [Start] Button to Start the Slide Show"
#define kStopSlideShowString		"Press the [Stop] Button to Stop the Slide Show"
#define kCancellingSlideShowString	"Please Wait - Cancelling Slide Show"


// 7/6/01
//for master server copy, allow user to save as original file orientation
bool TSaveToServerCommand::SaveAsCustomType(FSSpec	copyFSSpec, short	fileType) // changed 7-27-00


// 7/3/01
//fix shifting right problem
OSErr TExternalVideoWindowServer::ShiftImagesRight( TExternalWindowInfoPtr aPtr )








// 7-6-01
change status text in SlideShowManager.cp and SlideShowManager.h SlideShowWindow.cp

// 7-5-01
added 
void TTeps2000Application::DeletePCCardAndUnmount()
Source was called twice so I made it into a function

added deleteEmptyFolder to tStartSittingPrefStruct to delete an empty folder after deleting the files in it

void TSlideShowBehavior::StartSlideShow(bool	start)
added 			SetStatus("Cancelling Slide Show");

short TSlideShowMainView::NextPage()
added	if (aBehavior) aBehavior->SetStatus("<Idle>"); after reading page

CRect_AC TSlideShowView::DisplayImage(short	imageNum, GWorldPtr	gworld) 
added 	if (aBehavior) aBehavior->SetStatus("Loading Image: "+getCurrentInputHandler()->GetFileName());

// 7-2-01
color settings are applied twice
void TDragDropColorAdjustView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
set handledIt to true after hitting the apply-button 

added funtion
void TDragDropColorAdjustView::ApplyColorSettingsToAll(bool	all)
is done now by holding the option key; maybe create a new button?

void TExternalVideoWindow::Draw ( const CViewRect &area )
replaced
	//fDrawOffscreen = copyGWorldToScreen(fDrawOffscreen, offscreenRect, copyRect, false);	// 7-2-01
with
	if (fDrawOffscreen)
		CopyWorldBits(fDrawOffscreen, (WindowPtr)CurrPort, copyRect);

void TSlideShowMainView::Draw ( const CViewRect &area )
replaced
	//fOffscreen = copyGWorldToScreen(fOffscreen, myGetPortRect(fOffscreen), this->GetQDExtent(), false);
with
	if (fOffscreen)	// 7-2-01
		CopyWorldBits(fOffscreen, (WindowPtr)CurrPort, this->GetQDExtent());

changed
void DoPrintPreviewWithSlideWindow( GWorldPtr offscreen1, GWorldPtr offscreen2, short	rows, short	cols, 
																	TImageFileObject	*obj1, TImageFileObject	*obj2)

void TPreviewImage::PreviewImage(TImageFileObject	*anObject)
remove setting global GWorldPtr for faster loading (saves memory)

// 6-28-01
changed all 'ALRT' to show on main screen
added 	subFolderNameType and subFolderName to backup prefs (tAllinStruct)
	CStr31_AC		subFolderName;						// added 6-28-01
	short			subFolderNameType;					// added 6-28-01

bool TSaveToServerCommand::ShowDestinationDialog(FSSpec	*tmpFSSpec)
adjusted this function to use new variables (subFolderNameType and subFolderName)

void TPreviewImagePrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
		gApplication->PostCommand(new TPostWindowMenuCommand(this->GetWindow(), cSelectOtherPreference, 30));
handle buttons to jump to other preference
void TPreferencesWindow::DoMenuCommand(CommandNumber	aCmdNumber)
{
	switch (aCmdNumber)
	{
		case cSelectOtherPreference:
created new mechanism to jump to other preference from current preference

// 6-27-01

OSErr TDummyCameraHandler::FindCamera()
if pathname is empty string search for PC-Card directory the old way

do not ask to delete hot folder if input source is kFile

bool	gotoSelectImageWindow()
void TTeps2000Application::FindImageAndEnterEmail()
check if the selected folder is in the MAIN IMAGES FOLDER and if not display a message

void TTeps2000Application::FindImageAndEnterEmail()
fill in last used folder as default

added getMyStartSittingPrefs()->deleteImagesAfterCopying to delete images from PC-Card before unmounting disk

// 6-26-01
StartSittingPrefs.cp
TCustomizeBackupWindow
take copy to master images folder section and put it in a new seperate window (TCustomizeBackupWindow)

// differences between teps and nostalgia
MAINWINDOW
- start sitting popup menu
- preview images popup menu
- utilities popup menu

UTILITIES WINDOW
- no edit template, node button, compile log file button
- no goto graphics copy from setup overlay database

Slide Show Prefs
- disable run slide show on external video monitor

// 6-21-01
void TCustomFileNameWindow::SetSettings()
added fillInGaps4Numbering to window

added two windows to CompileLogFileFromFolder
	- Are you sure you want to start
	- Done compiling log file + pathname

broke up TSlideShowPrefs
new TConfigureSlideShowWindow for full screen slide show settings

// 6-20-01
added fields to tStartSittingPrefStruct
	CStr255_AC		pathNameForPCCard;			// 6-20-01
	bool			search4FilesInSubFolders;	// 6-20-01
	bool			fillInGaps4Numbering;		// 6-20-01
fillInGaps4Numbering replaces the one in tInputPrefs

OSErr TDummyCameraHandler::FindCamera()
search for PC-card directory through pathname
OSErr TDummyCameraHandler::ProcessFunction7()
	added  getMyStartSittingPrefs()->search4FilesInSubFolders to allow searching in sub directories
created new function long pathName2DirID(CStr255_AC	path)	// 6-20-01

// 6-19-01
CStr255_AC	getFileNameOfNextPictFileInFolder(FSSpec	theFSSpec, short	&startindex)
search for visible files only when showing graphics files

void GoToFormatCardWindow()
only allow go ro format card window if input is set for KODAK CAMERA

// 6-18-01
added valdition functions for different preferences
void validateChooserPrefs ( tChooserPrefPtr ptr )	// 6-18-01
void validateColorSyncPrefs ( tColorSyncPrefPtr ptr )		// 6-18-01
void validateGeneralPrefs ( tGeneralPrefPtr ptr )	// 6-18-01
void validateInternetUploadPrefs ( tInternetUploadPrefsPtr ptr )	// 6-18-01
void validatePreviewPrefs ( tPreviewPrefPtr ptr )	// 6-18-01
void validatePrintServerPrefs ( tPrintServerPrefPtr ptr )	// 6-18-01
void validateSittingDirectoryPrefs( tSittingDirectoryPrefPtr ptr )	// 6-18-01


// 6-15-01
void validateStartSittingPrefs(tStartSittingPrefPtr ptr)	// 2-5-01
make sure that older version of teps with startsitting choice == kNormalStartSitting run with new teps

short DoPrintPreviewNew ( GWorldPtr anOffscreen, short resID, bool one2One, CStr255_AC	fileName)
Make all preview functions go through DoPrintPreviewWithSlideWindow

// 6-14-01
void TInputPreferences::EnableModeItems4Camera()
disable photo proofing and portrait studio for dummy camera mode

create TTopBarWindow
used for thumbnail window and change graphics window

// 6-13-01
OutputPreferences.cp
added separate output file type for 'Save To', 'Save All' and 'Save Composition As'
Use one and the same Output Type Popup MENU also in navigation dialog
Same popup for Save functions, Print To File and for Backup (Master Server Copy)
All funtions that save files now call NewSaveOffscreenToFile

Create TExternalVideoWindowServer at startup of the application, leave windows there on return to main

// 6-12-01
changed struct tColorSyncPrefs
added 	CStr255_AC	monitorProfileDesc;
		CStr255_AC	printerProfileDesc;
		CStr255_AC	scannerProfileDesc;
TProfileListView has two colums now, first the actual filname and second the profile description

short TTepsPrintHandler::DoPrint(GWorldPtr	anOffscreen, Boolean	doPreview)
removed applying colorsync message when NOT applying Colorsync

// 6-11-01
 check on matching click balance values stored from kodak plugin
and/or from kodak standalone camera capture app
DCErr TNewKodakCameraHandler::SetImageInfo()
void TNewKodakCameraHandler::SaveColorBalanceSettings(tWhiteBalanceStruct	whiteBalanceSettings)
changed white balance to save and read conforming kodak standard so we can read Plug-in and DCS Photo Desk
images and they can read ours

// 6-4-01
changed structure tSlideShowPrefStruct
added tMonitorStamp	stamp[kSlideShowMaxStamps+kSlideShowMinStampIndex];

added option to show slide show on external video monitor
One up full screen and print preview work with old mechanism (Display Image)
All other previews work through new TSlideShowBehavior


// 5/29/01
when using find file option, allow file number to be 8 digits (used to be 5)
	adlib 1257 both nostalgia and teps2000


// 5/23/01
// release as 0.0.7b15
// release as v8.0.2

fix problem with reading some exif thumbnail files
make sure to reset file marker if failed
	PicHandle GetThumbnailFromFile(FSSpec	fileSpec)

// 5/22/01
fix problem in spooler when reading kodak TIF images saved from PhotoMechanics app
brian from personal touch portrait studios
	SPOOLER
	GWorldPtr	ReadFile2(TFile	*aFile, short	imageSize)

fix problem with daniel and spooling pict file that are not saved at 72dpi
may need to pass to quicktime, the dpi that we are interested in
FG always works - so we must be reading it non-quicttime method
	SPOOLER
	GWorldPtr	ReadFile2(TFile	*aFile, short	imageSize)


fix problem with reading some exif thumbnail files
	PicHandle GetThumbnailFromFile(FSSpec	fileSpec)

// 5/18/01
fix mark artistic - allow sharpen to be none as default for new clean kodak images
	void TNewKodakCameraHandler::SetNewImageSettings(tImageSettings	imageSettings)


// 5-17-01 slide show window doesn't have a menubar too
void TAlignWindow::AlignForChoice()
// if no cache file, doesn't load file in One Up Mode
added cache FSSpec	 to save offscreen
GWorldPtr	getGraphicOnOffscreen(CStr255_AC	fileName, CStr255_AC	category, bool cache)

// 5-16-01
only unmark images if is not preview
void TTEPSFileHandler::SavePrintedFiles(bool	isPreview)
	if (isPreview==false)		// 5-16-01
change spooler
//wishlist
font, size and color for filename under slide for slide show view
unlocking disk in Nikon Camera
accounting option
school photography problem is not really a problem

// 5-15-01
Fixed problem with reading images after copying PC-card
GWorldPtr TNewKodakCameraHandler::GetThumbnailImage()
GWorldPtr TNewKodakCameraHandler::GetPreviewImage()
GWorldPtr TNewKodakCameraHandler::GetFullSizeImage()
moved case kKodakCameraWithCardMode:

TWindow* TNewKodakCameraHandler::OpenDeleteWindow()
On return to main don not ask anymore if delete images from PC-Card do it now right 
after copying the files
void TNewKodakCameraHandler::CopyFilesFromPCCardToDirectory()
added if (MacAppAlert(1016, NULL)==1)		// added 5-15-01
			EraseImages();

// 5-15-01 added textstyle for filename in slide show window
void TSlideShowView::DoPostCreate(TDocument	*aDocument)
added tTextInfo	styleInfo to tSlideShowPrefStruct

// 5/10/01
// v0.0.0714
// recast shorts to longs when in prompt for image mode
bool TSelectImageWindow::SetImageToShowSpecs(FSSpec	dir, long	image, CStr31_AC	folderName)

// 5/7/01
// prevent all TExternalVideoWindow from being touchable
class TExternalVideoWindow : public TAlignWindow
TExternalVideoWindow::TExternalVideoWindow()
bool TExternalVideoWindow::HandleMouseDown(const CViewPoint& theMouse, TToolboxEvent* event,
								 CPoint_AC hysteresis, EMouseDownType  mouseDownType)


// 5-3-01
file: PreviewImage.cp
void TCameraPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
// 5-3-01 removed
//if (getCurrentCameraHandler()) getCurrentCameraHandler()->SaveCopyInSittingFolder((TImageFileObject*)changeData);

file: StartSittingPrefs.cp
changed autoSynchronize to unMountDiskAfterCopying (also in resource)

file:CameraHandler.cp
OSErr TCameraHandler::ProcessFunction12 ()		// 5-3-01
void TCameraHandler::ClearSavedFileList()		// 5-3-01

file:DummyCameraHandler.cp
insert all saved files in fSavedFileList
	TFile	*aFile3	 = (TFile*)aFile2->Clone();		// 5-3-01
	fSavedFileList->Insert(aFile3);

// 5-2-01
file: DummyCameraHandler.cp
OSErr TDummyCameraHandler::FindCamera()
change open dialog folder string to kSelectSourceFolderString
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview, bool showProgress)
added IsValidImageFile(aFile)  before SaveCopyInSittingFolder(&srcFSSpec)

file: StartSittingHandler.cp
IDType TCustomServerCopyHandler::GetBaseName()
if (getMyStartSittingPrefs()->copyPrefs.newName.imageNumNewNumberMode==kNewImageNumberMode_NextAvailable)	// 5-2-01
check for imageNumNewNumberMode instead of input type

file: TepsFileHandler.cp
void TTEPSFileHandler::CheckIfDeleteAllImages()
hotfolder got unmounted before erasing the images
	// removed 5-2-01
	//if (fStartSitting && getMyStartSittingPrefs()->unmountVolume)
	//	unMountVolume();

file: UTeps2000Application.cp
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)
		case cReturnToMain:
added
	if (getCurrentInputHandler()->IsStartSitting() && getMyStartSittingPrefs()->unmountVolume)	// added 5-2-01
		unMountVolume();
void TTeps2000Application::StartDirectConnectWithoutCard()
void  TTeps2000Application::initializeInputHandler()
TCameraHandler	*getCurrentCameraHandler()

// 5-1-01
SPOOLER
short TPrintView::ReadObjects(FSSpec	fileSpec)
	//if (jobVersion != kCurJobVersion)
	if (jobVersion > kCurJobVersion)		// 5-1-01
TEPS
added class
void TNoHighLightControl::HandleActivate()	// 5-1-01
to prevent flickering updates when returning to main from operationswindow
(also change in View resource 1301, 1302, 1303, 1304)


// 4/30/01
// version 0.0.713

// okay to pass a nil pointer anImageFileObject
// for case of preview print canvas
TExternalWindowInfoPtr CreateDisplayImageInfo ( GWorldPtr anOffscreen, TImageFileObject *anImageFileObject )


// 4-26-01 through 4-30-01
CommandNumber.h
const ResNumber 	cCopyGraphics2SpoolerWindow	= 1125;	// 4-26-01
const ResNumber 	cGotoGraphicsOrDatabaseWindow	= 1126;	// 4-26-01

MacAppClasses.cp
REGISTER_CLASS_AC(TCopyToSpoolerWindow);			// 4-26-01

UtilitiesWindow.cp
changed void GoToImportWindow()

SelectOverlayFolderPrefs.cp
SelectOverlayFolderPrefs.h
added warnBeforeCopying

SelectOverlayFolderView.cpp
added bool copyFolderToSpoolerFolder(CStr31_AC	category, bool warn, TCtlMgr	*control);
and  TCopyToSpoolerWindow

// 4/25/01
// version 0.0.7b12



// fix dummy camera hot folder mode to work
// with option to load newly acquired images or not
void TCameraPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
		case cNewImageGrabbed:
			if ( getMyInputPrefs()->doAutoPreviewNewImage == true )	// only if preview desired!! 4/25/01
		case cFileAddedToList:



// change from file overlay to graphic
// change from file overlay object to graphic object
resource STR#4113
resource STR#4000
#define		kPrefSelectOverlayFolderString	"  Graphics"	// 4/25/01	"File Overlays"		// redefine 4/24/01



// allow file overlays to work - remove kDebugVersion 
short TGeneralPrintHandler::Print()
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)
void TPreviewImageWindow::DoSetupMenus()
void TDesignWindow::DoPostCreate(TDocument* itsDocument)
#define		kCurJobVersion		kJobVersion6

// if user cancels from prompting for editable text
// or from prompting for file overlay
// do NOT continue to print
short TGeneralPrintHandler::Print()
short TGeneralPrintHandler::ValidateAllTemplatesForEditableText ()

// check if file overlays exist on canvas/template/order
short TGeneralPrintHandler::ValidateAllTemplatesForFileOverlay ()
short TGeneralPrintHandler::ValidateForFileOverlayForTemplate ( FSSpec templateFSSpec )
short TGeneralPrintHandler::ValidateForFileOverlayForOrder ( tStudentOrderStruct *curStudentOrderList )
short FindAllFileOverlayOnTemplate ( CList_AC *layoutObjectsList );	// created 4/25/01

// factory default to have prompt before printing on
Boolean setMyPrintingPrefToFactoryDefaults ( tPrintingPrefPtr ptr )

// always show filename of valid QT file in select file overlay window
void TSelectOverlayFolderView::CreatePreviewForFolder(CStr31_AC		tmpStr)

// go and display selection window
bool promptForOverlayCategoryBeforePrinting()

// handle different object types when checking for objects in layout list
void GetNumberOfSpecificObjectType ( CList_AC *layoutObjectsList, IDType objIDType, short &count, short countList[] )


// 4/24/01
// version 0.0.7b12

// add doPromptForFileOverlay to printing prefs
Boolean setMyPrintingPrefToFactoryDefaults ( tPrintingPrefPtr ptr )
bool validateMyPrintingPref ( tPrintingPrefPtr ptr )
TPrintingPrefs::~TPrintingPrefs()
void TPrintingPrefs::ViewsEnable(bool enable)
void TPrintingPrefs::SetSettings(tPrintingPrefPtr ptr)
bool TPrintingPrefs::IsChanged()

// rename promptBeforePrinting to promptForOverlayCategoryBeforePrinting
bool promptBeforePrinting(FSSpec	spec)
bool promptForOverlayCategoryBeforePrinting(FSSpec	spec)

// make teps the default creator of cache file
bool SaveOffscreen2CacheFile ( GWorldPtr anOffscreen, FSSpec	fileSpec, long creationDate, long modDate)

// create 1350 adlib view for file overlay category view
// auto install this view
TWindow *CreateSelectOverlayFolderWindow ( void );	// 4/24/01
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)

// resolve issue with \r and \n
// find all cases of \r and replace with \n
//  always compile with option  "map newlines to CR" 
// it actually swaps \r => \n
//         and swaps \n => \r
// \r is really CR
// \n is LF
void DisplayMissingSecurity ( )

// dont give hot folder missing if we unmount the volume
short TTEPSFileHandler::PutFilesInList4Check(short vRefNum, long dirID, bool checkIfEqual)

// Import Weak for Quicktime.lib
// allow app to still run even if QT not installed
// dont crash if QTLib not available
// BG and FG - WARN if QT NOT Installed
bool IsQuickTimeAvail ( long *qtVersionPtr )
PicHandle getPicHandleFromFileSpec(FSSpec	theFSSpec)
PicHandle *getPicHandleFromFileSpec2(FSSpec	theFSSpec)
bool	isValidQTFile(FSSpec	theFSSpec)
void	saveFileWithQT(FSSpec	aFSSpec)
void writeGWorldToImageFile(GWorldPtr gw,const FSSpec *fileSpec, short	fileType, short dpi);	// forward prototype 4/24/01

// show yellow balloon when mouse on layout view tool
void TDesignWindow::DoPostCreate(TDocument* itsDocument)

// default object is category ABSOLUTE
void TFileOverlayObject::IFileOverlayObject(const CViewRect& itsBounds)


// move prompt for images pref after preview images prefs
resource STR#4000
#define		kPrefSelectAnImageString		"  Prompt For Images"	// redefine 4/24/01

// change name for file overlay prefs
resource STR#4000
#define		kPrefSelectOverlayFolderString	"File Overlays"		// redefine 4/24/01








// 4/18/01
// version 0.0.711

// fix status box when custom server copy and file
short TTEPSFileHandler::GetIconAndStatusText(CStr255_AC	&statusText)

// fix some forward prototyping issues
CStr31_AC	formCustom1BaseNameType ( tBaseNameStruct *newNamePtr );	// 4/18/01 forward prototype

// test with myMacAppAlert Issues
OSErr TDummyCameraHandler::FindCamera()
OSErr TDummyCameraHandler::ProcessFunction11()	// created function 2/8/01

// merge edwins view for importfiles
void RegisterMacAppClasses()
// more tests with ImportFiles



// 4/17/01
// version 0.0.711

// always force all floating tool windows to the main screen
// except for the external preview window
void TAlignWindow::AlignForChoice()

// NavReplyRecord reply MUST be Disposed of regardless
// whether NavGet, NavPut, NavChoose, NavFunction cancelled or okayed
void TImportPictCommand::ChoosePict()
OSErr MyChooseFile(const FSSpecPtr defaultLocationfssPtr, OSType	fileType, short	index)
OSErr MyOpenFile(const FSSpecPtr defaultLocationfssPtr, OSType	fileType, short	index, CStr255_AC	addString)
OSErr MyOpenImageFile(const FSSpecPtr defaultLocationfssPtr, CStr255_AC	dialogMessage)
OSErr MySaveFile(const FSSpecPtr defaultLocationfssPtr, CStr255_AC	defaultName, OSType	saveFileType, CStr255_AC	windowTitle)
OSErr MySaveFileAs ( FSSpecPtr defaultLocationfssPtr, CStr255_AC	defaultName, OSType	saveFileType)



// 4/16/01
// version 0.0.710 - release to rich seaworld

//   DO NOT Release yet 
// Check if memory compaction works!??
void forceMemoryMovement ( void )

// always update external window right a way
void TExternalVideoWindow::DoInvalidateRect ( Rect* theRect )

// beep 2x to tell user fuji hi res image acquired
bool TNewFujiCameraHandler::Check4NewFiles()

// beep 1x to tell user fuji prev res image acquired
bool	TNewFujiCameraHandler::ConfirmSaveImage(bool	&saved, FSSpec	*saveFSSpec)

// possible crash problem
GWorldPtr myCreateMaskGWorld ( GWorldPtr myOverlayGWorldPtr )


// 4/13/01
try to find out problem with simpleThread2 and NavLib


// 4/12/01
// version 0.0.79

// clean up task threads

// memory leak in special one-up mode
// delete fViewOffscreen when done
TOneUpPreviewImage::~TOneUpPreviewImage()


// 4/12/01
// version 0.0.7b8 - for daniel

// make sure student order is written to in special one up mode
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)


// 4/12/01
// version 0.0.77

// with kodak direct connect mode
// fix filenaming issue
void TCameraHandler::GetFileName(long theNum, CStr255_AC	&fileName)

// school photography mode - make it case in-sensitive
bool TCameraHandler::IsValidFile(TFile	*aFile)

// force image to be loaded automatically when finding first image
// of school mode
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)

// do not force number padding pref if school mode
void validateStartSittingPrefs(tStartSittingPrefPtr ptr)

// 4/11/01
// version 0.0.77

// dont hide the 'vdeo' windows - let the destructor do it
void TPreviewImageWindow::ShowFloatWindows(bool state, bool	dontHideThumbnailWindow)	// 2-5-01

// make sure to call the correct idtype when checking for template or node fsspec
short TGeneralPrintHandler::ValidateForEditableTextForTemplate ( FSSpec templateFSSpec, short editTextCountList[] )
bool ReadLayoutObjectsFromFileToList ( IDType fileType, FSSpec fileSpec, CList_AC* aList );	// created 4/11/01
bool ReadLayoutObjectsFromFileToList ( FSSpec fileSpec, CList_AC* aList )
void GetNumberOfSpecificObjectType ( CList_AC *layoutObjectsList, IDType objIDType, short &count, short countList[] )


// 4/10/01
// version 0.0.77
// updated thread test stuff
// do not call the older checkForDiskEvt; just return after calling new function
void checkForDiskEvt ( void )


// 4/9/01
version 0.0.76 released for dick stein to test out for us with old tiff

// try to get the older version of writing to tiff file
// work for dick stein photography
// added tag field #296 = 0x128 TAG for Resolution Unit
struct tiff_header_rgb {
static struct tiff_header_rgb	pth = {


// make sure to validate template FSSpec not just FSSpec
// would give erroneous display editable text when printing
short TGeneralPrintHandler::ValidateAllTemplatesForEditableText ()
bool ReadLayoutObjectsFromFileToList ( FSSpec fileSpec, CList_AC* aList )

// when caching overlays to the miscellaneous - use better
// method of naming cache files
GWorldPtr	TOverlayObject::GetOverlayOffscreenFromRecordNumber(short	recNum)
bool formOverlayCacheFSSpec ( tNewOverlaySettings* settingPtr, FSSpec *tmpFSSpec );
bool checkIfFileAvailable ( tNewOverlaySettings* settingPtr, FSSpec	*tmpFSSpec )
bool SaveOffscreen2File ( GWorldPtr anOffscreen, tNewOverlaySettings* settingPtr )
long GetFSSpecDirD ( FSSpec theFSSpec )


// version 4/6/01
// version 0.0.76

contains the debug menu item
put the test thread and test import file database under one function

// try to get rid of some compile warning with hidden virtual functions
// try to get rid of some compile warning with unused variables and arguments



// 4/6/01
version 0.0.75 for rich of seaworld

// still contains experiment with TImportFileWindow

// fix problem with memory leak with fuji camera
bool	TNewFujiCameraHandler::ConfirmSaveImage(bool	&saved, FSSpec	*saveFSSpec)


// 4/5/01
// added support for debug menu bar
// just add CMNU item #80 to MBAR 128
void TTeps2000Application::DoSetupMenus()
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)


// 4/4/01
version 0.0.75

// experiment with TImportFileWindow


// forgot to check for modification date
bool TDummyCameraHandler::Check4NewFiles3()

// forgot to increment number of files added
bool TDummyCameraHandler::Check4NewFiles3()


// 4/4/01
// version 0.0.74

// if file is opened, then DONT add to dummy list nor preview list
// commented out old version of this function
// recreated new version of this function
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview )


// 4/4/01
// version 0.0.73 gave to rich from seaworld

// create function to invalidate the mod date
unsigned long TTEPSFileHandler::InvalidateFolderModDate ( bool dontResetToZero )
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview )

// 4/3/01
version 0.0.73

// make sure index is always incremented or decremented
// otherwise might be stuck in a loop
// search for what to do then??? 4/3/01
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview )


// 4/3/01
version 0.0.72 - sent to mike at leichtner studio

// try to fix infinite loop with invalid index
// and if folder is in the source folder
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview )


// 4/3/01
version 0.0.71 - sent to mike at leichtner studio
// if input is kCamera, then always enter operations window
void validateStartSittingPrefs(tStartSittingPrefPtr ptr)

// always call dummyCameraHandler::Check4NewFiles3
// do not call inherited class
bool TDummyCameraHandler::Check4NewFiles3()

// try to fix timing problem with server
// reset modification time if file is not ready yet
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview )

// when saving images in start sitting with old modes
// get extension from original file
void TTEPSFileHandler::SaveAllToFolder(short vRefNum, long	parID, bool showProgress, CStr255_AC	baseName, short	startValue,




// 4/2/01
// if more than 1 new image, make sure images come in alphabetically
bool TDummyCameraHandler::Check4NewFiles3()
short TDummyCameraHandler::AddFilesToList3 ( bool doAddFilesForPreview )

// prompt once for print quantity when printing canvas
short TGeneralPrintHandler::Print()

// allow thumbnails to be updated even if its window is NOT in front
bool TN_UPThumbNailView::DrawThumbNailsThread()

// if temp file is encountered; check again a second time
short TGeneralPrintHandler::Print()



// 3/30/01
// experiment with progress views
// added new test views and windows to adlib
// TProgressView2 CLASS created
// initialize for chasing arrows
testDummyThread();


// 3/30/01
version 0.0.618 for bill from ashley
// make sure we validate for preferences for Nostalgia with external monitor
Boolean setMyExternalVideoPrefToFactoryDefaults ( tExternalVideoPrefPtr ptr )
void validateExternalVideoPref ( tExternalVideoPrefPtr ptr )
 void TTeps1000Preferences::ReadFrom(TStream* aStream)


// 3/29/01

//do correct operation by checking for correct copyPrefs preference
OSErr TDummyCameraHandler::ProcessFunction6()

// fix kodak SetEV command
void TNewKodakCameraHandler::SetEVValue(float	theValue, bool open)



// 3-27-01

pascal void myEventProcSaveAs ( NavEventCallbackMessage callBackSelector, NavCBRecPtr callBackParms, NavCallBackUserData callBackUD)
set default filetype

added  short	useThumbnailRotation4MasterCopy to StartSittingPrefs
added
bool TSaveToServerCommand::SaveAsCustomType(FSSpec	copyFSSpec, short	fileType) // changed 7-27-00
added
	if (fServerCopyPrefs->useThumbnailRotation4MasterCopy)	// 3-27-01


// 3/26/01
added support for multiple pages with marked images
GWorldPtr TTepsPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
void TTepsPrintHandler::CreateJobFile4BackgroundPrinting(short	imageNumber, Boolean now, bool stop)
void TPrintView::FillInImageFSSpec4BGPrinting(short	imageNumber, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings, bool now)
GWorldPtr TNodeViewObject::NodeFile2PrintOffscreen(FSSpec	fileSpec, short dpi, TPrintView	*theView)
added 2 functions
bool	TPrintView::IsSpecialMarkedLayout()		// 3-26-01
short TPrintView::SpecialCountImageObjects()	// 3-26-01


?? check for editable text of all ORDERS
?? need to consolidate CStr255_AC TStampObject::GetStringToDraw4Printing()


// fix ocassional crash after clicking on continue button in zooming in on image
short DoPrintPreviewNew ( GWorldPtr anOffscreen, short resID, bool one2One, CStr255_AC	fileName)

// make sure prompt to for print quantity goes thru one mechanism
bool GetPrintQuantityFromPrefs ( short printerType, short &multiplierQuantity );	// 3/26/01

// maker sure works thru one mechanism
// make sure print quantity works properly in all 3modes
// print canvas - print package - print order
TGeneralPrintHandler::TGeneralPrintHandler()
short TGeneralPrintHandler::PrintCanvas()
short TGeneralPrintHandler::PrintPackage()
short TGeneralPrintHandler::PrintOrder()

// validate for security for each template
short TGeneralPrintHandler::PrintCanvas()

// check for editable text in any nodes or templates of any packages before printing
short TGeneralPrintHandler::Print()
short TGeneralPrintHandler::ValidateAllTemplatesForEditableText ()
short TGeneralPrintHandler::ValidateForEditableTextForTemplate ( FSSpec templateFSSpec, short editTextCountList[] )
short TGeneralPrintHandler::ValidateForEditableTextForPackage ( short packageNumber, short editTextCountList[] )
short TGeneralPrintHandler::ValidateForEditableTextForOrder ( tStudentOrderStruct *curStudentOrderList, short editTextCountList[] )
short FindAllEditableTextOnTemplate ( CList_AC *layoutObjectsList, short editTextCountList[] );	// created 3/26/01

// add pref for prompt for editable text
Boolean setMyPrintingPrefToFactoryDefaults ( tPrintingPrefPtr ptr )
bool validateMyPrintingPref ( tPrintingPrefPtr ptr )
TPrintingPrefs::~TPrintingPrefs()
void TPrintingPrefs::ViewsEnable(bool enable)
void TPrintingPrefs::SetSettings(tPrintingPrefPtr ptr)
bool TPrintingPrefs::IsChanged()

// validate prefs after reading
void TTeps1000Preferences::ReadPrefs()

// create function to read object from template
OSErr ReadObjects ( FSSpec fileSpec, templateInfo* infoPtr, CList_AC* theObjectList );// created 3/26/01
bool ReadLayoutObjectsFromFileToList ( FSSpec fileSpec, CList_AC* aList )

// add new checkbox to stamp object so as NOT to print image number
// mainly for daniel's contact sheet
TStampObject::TStampObject()
CStr255_AC TStampObject::GetStringToDraw4Printing()
#define	kDummyBytesSize	(1021- sizeof(bool))	// set correct size 3/26/01
void TStampObject::ReadFrom(TStream* aStream)
void TStampObject::WriteTo(TStream* aStream) const

// add view to stamp object window
void TStampSettingsWindow::SetStampObject(TStampObject	*anObject)
void TStampSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)



// 3/24/01
17

Still experimenting with Edit Text

// always check for template errors even if nothing was changed!
short TLayoutView::SaveChanges(bool	showDialog, bool saveAs)

// added functionality to set the kodak camera clock
void TKodakUtilWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	/*event*/)
DCErr  TNewKodakCameraHandler::SetCamerTimeToThisMacTime ()

// test
DCErr  TNewKodakCameraHandler::FindAllProperties (char*	propertyName, ProPropertyStruct* pProDirEntry )

// display better messages when missing text
// need to have a recursive function to test unlinked stamps in node while in template

// created
void StevesLayoutTest ( CList_AC *layoutObjectsList );	// created 3/24/01
void GetLayoutNameErrorString ( IDType layoutIDType, CStr255_AC filename, CStr255_AC &layoutInfoString );	// created 3/24/01
bool ReadLayoutObjectsFromFileToList ( FSSpec fileSpec, CList_AC* aList );	// created 3/24/01
CList_AC *DeleteLayoutObjectList ( CList_AC *theList );	// created 3/24/01
void GetNumberOfSpecificObjectType ( CList_AC *layoutObjectsList, IDType objIDType, short &count, short countList[] );	// created 3/24/01

// give correct prompt when selecting grade folder for school photo mode
OSErr TTeps2000Application::CreateCustomFolder()






// 3/23/01
// give to daniel to test v0.0.616

// experiment with acquire kodak images
GWorldPtr TNewKodakCameraHandler::GetImage()

// try to improve speed of exiting from drag and drop and into main menu
TDropPreviewImage::~TDropPreviewImage()

// fix problem of image loading twice when shooting into nodes
// also fixes needless loading of images after "add images from folder"
void TDropView::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)

// remove error message
bool protectTheGworld ( GWorldPtr gworldPtr )

// use the forceMemory bool flag
GWorldPtr myDisposeGWorld ( GWorldPtr gworldPtr, bool forceMemory )	// re-prototyped 3/16/01

// change the retry to 1 only
void forceMemoryMovement ( void )

// ??????????????? test memory improvement ??????????????????????
TView* TPreviewImageWindow::DestroyPreviewMainView ( short mode )
TOverlayObject::~TOverlayObject()

// clear list if unable to create custom folder
bool TStartSittingCopyHandler::ProcessFunction1()
		getCurrentInputHandler()->ClearFileList();	// 3/23/01



// 3/22/01
released as 0.0.615 for dick@steinphotography.com

// even if unique name, for school mode - make it work
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01
	if ( IsSchoolPhotographyMode() )
	{
		fileName = fCurrentStudent + "_" + getExtensionFromSourceFile(srcFSSpec->name);
	}
// even if unique name, for school mode - make it work
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01
				if ( getMyStartSittingPrefs()->copyPrefs.newName.type != kOriginalNameType || IsSchoolPhotographyMode() )
					getUniqueNameFromExisting(&dstFSSpec);


// fix school mode so that when resume sitting
// there are images still in hot folder 
// eat up the images into dummyList
bool TDummyCameraHandler::AddFilesToList ( bool doAddFilesForPreview )
OSErr TDummyCameraHandler::ProcessFunction6()

// if school mode, then display school mode when in copy prefs window
void AdjustBaseNameOptionView (TWindow *topWindow, tAllinStruct	*ptr )




// 3/22/01
// release as version 0.0.614 for serge

// fix school photography mode with dummy camera
// fix naming file problem
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01

// do not show any order info when new student is set
void TSchoolPhotographyView::SetStudentSpec(CStr255_AC	fileName, bool newStudent)

// set pc-card to 2 digits
// set photographer id to 1 digit
IDType GetStartSittingIDWindow ( short &theNumber, short &numberOfDigits, CStr255_AC thePrompt )
IDType GetPhotographerIDWindow ( short &theNumber, short &numberOfDigits )
IDType GetPCCardNumberWindow( short &theNumber, short &numberOfDigits )
IDType TCustomServerCopyHandler::GetBaseName()	// 10-25-00

// fix school photography mode with dummy camera
// do not allow resumed images to preload
// initialize the modification date if in school mode to the hot folder
OSErr TDummyCameraHandler::ProcessFunction6()
OSErr GetFolderModificationDate ( unsigned long &lastModDate, FSSpecPtr anFSSpecPtr );

// cosmetic - rename Kodak TIF as all readables
void TInputPreferences::PrepareInputPopup(IDType	theType)

// ??
bool TNewKodakCameraHandler::ConvertFile(FSSpec	*theFSSpec)

// create an kTiffFileOld for PCs
// for print to file option
short	getFormatFromPopupItem(TPopup *aPopup)
short	getPopupIndexFromFormat(short formatType);
CStr255_AC	getExtensionFromFileType ( short formatType );// created 3/22/01
void TPrintToFilePrefs::SetSettings(tPrintToFilePrefsPtr	ptr)
void TPrintToFilePrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

// save to old tiff format SPOOLER AND FG
bool NewSaveOffscreenToFile(short	outputType, GWorldPtr	anOffscreen, CFSSpec_AC		fileSpec, bool overwriteExisting)

// reprototype saving to old tiff method by passing dpi also
Boolean SaveAsTIFFFile(CFSSpec_AC	fileSpec, GWorldPtr	anOffscreen, long resolution )


// fix views again for base name options
void TCustomFileNameWindow::AdjustForCustom2Mode ()
void TCustomFileNameWindow::EnableMoreOptionsViews_OriginalName ()
void TCustomFileNameWindow::HandlePadZeroCheckBoxOption ( bool state )
void TCustomFileNameWindow::AdjustPadZeroView ()

// function to get modification date of a folder
OSErr GetFolderModificationDate ( unsigned long &lastModDate, FSSpecPtr anFSSpecPtr )



// 3/21/01

// ????
//!!!!!! really bad and need to check thoroughly !!!
//void TTEPSFileHandler::SaveToFolder(short vRefNum, long	parID, long	fileNumber, bool showProgress)
// ????
/*

need more than one type of function of call to save file to where??
may be need to pass the overwrite mode to each of these modes!!!

need to use overwrite mode instead of overwrite boolean
#define	kOverWriteMode_NewNumber		0	// define 3/20/01	renumber and write new file
#define	kOverWriteMode_Overwrite		1	// define 3/20/01	write over the existing file
#define	kOverWriteMode_DoNothing		2	// define 3/20/01	dont write any file at all
#define	kOverWriteMode_PromptUser		3	// define 3/21/01	prompt for user interaction

saveFileToSittingFolder
saveFileAfterPrinting
saveFileToMainImagesFolder = saveFileToSittingFolder
saveFileToSpecialImagesFolder
saveFileComposition
saveFileToPrintToFile
saveFileToFolderAutomatic (src,dest,overwriteMode)
saveFileWithNavigationLib

need to have function TepsFileHandler create unique sitting file name
same as CustomServerCopyHandler

if do kOverWriteMode_NewNumber, TepsFileHandler does not put the new
names to list - so after entering operations window, does not display the
correct newly named images, but instead, then existing named images


*/

kOverWriteMode_DoNothing


// changed and moved prompt enable into custom file name window
// check for prompt for starting image number
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01
IDType TCustomServerCopyHandler::GetBaseName()	// 10-25-00

// remove prompt check boxes from copy pref window
// move them to base name prefs
void TStartSittingPrefs::GotoAllinPrefsWindow(tAllinStruct	*ptr)


// in TCustomFileNameWindow, do more dynamic enabling/disabling of options
void TCustomFileNameWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TCustomFileNameWindow::DoPostCreate(TDocument	*aDocument)
void TCustomFileNameWindow::SetSettings()
void TCustomFileNameWindow::GetSettings()
void TCustomFileNameWindow::SetViews()
void TCustomFileNameWindow::AdjustForOriginalName ()
void TCustomFileNameWindow::EnableMoreOptionsViews ( IDType identifier )
void TCustomFileNameWindow::EnableMoreOptionsViews_All ( bool state )
void TCustomFileNameWindow::EnableMoreOptionsViews_Custom2Mode ( )
void TCustomFileNameWindow::EnableMoreOptionsViews_OriginalName ()
void TCustomFileNameWindow::HandlePadZeroCheckBoxOption ( bool state )
void TCustomFileNameWindow::AdjustPadZeroView ()
void TCustomFileNameWindow::AdjustPromptView ()

// show TRIPRISM in main title window
void TMainWindow::UpdateTitle()

// disable copy to sitting folder item and have it checked on if input is file
void AdjustBaseNameOptionView (TWindow *topWindow, tAllinStruct	*ptr );	// created 3/21/01
void validateStartSittingPrefs(tStartSittingPrefPtr ptr)	// 2-5-01
void TStartSittingPrefs::DoPostCreate(TDocument	*aDocument)
void TStartSittingPrefs::GotoAllinPrefsWindow(tAllinStruct	*ptr)

// if either copy to sitting folder is off
// or copy to master server folder is off
// then disable their corresponding cluster
void TCustomCopyPrefWindow::DoPostCreate(TDocument	*aDocument)
void TCustomCopyPrefWindow::AdjustViews()
void TCustomCopyPrefWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

// make sure the current prefs matches the older prefs of 0.0.613
typedef struct tBaseNameStruct		// added 11-22-00
	unsigned char	reserved[128 -extraLen1 - 2];	// recompute 3/21/01				






// 3/20/01

// make layout info window reflect correct right after template is loaded
void TLayoutView::SetLayoutInfo(bool isNew, FSSpec	fileSpec, IDType	layoutType, short resolution)

// fix if promptPhotographerID and promptPCCardNumber is on
IDType TCustomServerCopyHandler::GetBaseName()	// 10-25-00

// fix chooser printing in two up mode
GWorldPtr TPreviewImageWindow::GetPrintOffscreen( bool doSaveToFile , bool	doPreview, bool isChooserPrinting )	// redefine prototype 11/10/00

// fix cancelling of chooser when in drag and drop mode
short TGeneralPrintHandler::PrintCanvas()
bool  TNamedStdPrintHandler::Print(CommandNumber itsCommandNumber)

// adjust version to reflect 2001

bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01

// make the two base name overwrite existing file match up
void TCustomFileNameWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

// adjust views for base name == kOriginalName
void TCustomFileNameWindow::DoPostCreate(TDocument	*aDocument)
void TCustomFileNameWindow::SetViews()
void TCustomFileNameWindow::EnableMoreOptionsViews ( IDType identifier )
void TCustomFileNameWindow::EnableMoreOptionsViews_All ( bool state )
void TCustomFileNameWindow::EnableMoreOptionsViews_OriginalName ()

// allow SPOOLER app to compile
CStr255_AC	createNameForSittingImages ( CStr255_AC baseName, long aValue, CStr255_AC ext )
CStr255_AC getUniqueNameFromExisting(FSSpecPtr	fileSpec)

// maintain long image number throughout
CStr255_AC getUniqueNameFromExisting(FSSpecPtr	fileSpec)

// move functions from CustomFileNameWindow.cp
long simplePower ( short base, short power );	// moved here 3/20/01
CStr31_AC FormImageNumber ( long value, bool doPad, short maxDigits );	//moved here 3/20/01	// 3/16/01
CStr31_AC FormImageNumberAsPerPrefs ( long value );						//moved here 3/20/01	// created 3/18/01






// 3/19/01
start with version b14

// remove bool	gDoUseLeadZeros

// resolve the resume folder name
// noticeable when basename = sitting folder name
OSErr TTeps2000Application::CreateCustomFolder()

// hope this is shared
// if koriginalfilename, need to check for two types of overwrite prefs
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01

// return empty string if value = -1
CStr31_AC FormImageNumber ( long value, bool doPad, short maxDigits )


//change function name From formUniqueName To FormFileName

// make unified calls
CStr255_AC	createNameForSittingImages ( CStr255_AC baseName, long aValue, CStr255_AC ext )
CStr255_AC getUniqueNameForPrintToFile (CStr255_AC	baseName, long	&startValue, CStr255_AC	ext, short leadZeros, FSSpecPtr	tmpFSSpec)

// call the same function
CStr255_AC getUniqueName(CStr255_AC	baseName, long	&startValue, CStr255_AC	ext, bool leadZeros, FSSpecPtr	tmpFSSpec)
CStr255_AC getUniqueNameSteve ( CStr255_AC baseName, long &startValue, CStr255_AC ext, short leadZeros, FSSpecPtr tmpFSSpec)

// call the same function
CStr255_AC getKodakCameraUniqueNameFromExisting(FSSpecPtr	fileSpec)
CStr255_AC getUniqueNameFromExisting(FSSpecPtr	fileSpec)

// force defaults
Boolean setMyStartSittingPrefToFactoryDefaults ( tStartSittingPrefPtr ptr )




// 3/19/01
release as b13 for noerr prelim

// 3-19-01
// fix edit template view so that it will always
// get correct size of nodes
GWorldPtr TNodeViewObject::NodeFile2PreviewOffscreen(FSSpec	fileSpec)

// put back 4digit padded with zeros as default
bool	gDoUseLeadZeros	= true;	// 3/19/01	false;	// 3/12/01 for both fuji and kodak

// check for copyPrefs.doSittingFolderCopy in custom copy server
bool TDummyCameraHandler::Check4NewFiles()


// force doSittingFolderCopy ON as default
Boolean setMyStartSittingPrefToFactoryDefaults ( tStartSittingPrefPtr ptr )

// set correct printer in print tool bar
void TOldLayoutView::DoPostCreate(TDocument	*aDocument)

// make TDummyCameraCopyHandler same as TCustomServerCopyHandler 
bool TCustomServerCopyHandler::ProcessFunction1()
TStartSittingHandler *createStartSittingHandler()

// make fLastModDate part of TTEPSFileHandler base class
// check for new images new method
TTEPSFileHandler::TTEPSFileHandler()
short TTEPSFileHandler::PutFilesInList4Check(short vRefNum, long dirID, bool checkIfEqual)

// return bool if added to list is correct or not
bool TTEPSFileHandler::AddFileToList(TFile	*aFile)	// new prototype 3/19/01
bool TTEPSFileHandler::AddToList(TFile	*aFile)	// reprototype 3/19/01

// remove unused
void TNodeViewObject::FindImageInNodeAndSetFSSpec4DragAndDrop(FSSpec	imageFSSpec, TStream	*aStream, short curImage)
void TNodeViewObject::FindImageInNodeAndSetFSSpec(FSSpec	imageFSSpec, TStream	*aStream, short curImage)


// 3/18/01

// consolidate all the various versions of getBaseName and getBaseNameNew
// consolidate all the various versions of getCustomFileName
// remove 3/18/01	CStr31_AC	getBaseName(short	baseNameType);				// 11-27-00
// remove 3/18/01	CStr31_AC	getBaseNameNew(tBaseNameStruct	newName); 		// 11-27-00
// remove 3/18/01	CStr31_AC	getCustomFileName();
// remove 3/18/01	CStr31_AC	getCustomFileName(tBaseNameStruct	newName);	// 11-27-00
CStr31_AC	getBaseNameNew ( tBaseNameStruct *newNamePtr );	// created 3/18/01
CStr31_AC	formCustom1BaseNameType ( tBaseNameStruct *newNamePtr );	// created 3/18/01
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01
void TCameraHandler::Synchronize4CameraHotFolderMode()	// 11-02-00
IDType TCustomServerCopyHandler::GetBaseName()	// 10-25-00
void TBaseNameWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

// fix up when user selects kCustom2BaseNameType
// make sure it is always validate so it is saved correctly
// and user knows the difference too
void validateStartSittingPrefs(tStartSittingPrefPtr ptr)	// 2-5-01
void TCustomFileNameWindow::DoPostCreate(TDocument	*aDocument)
void TCustomFileNameWindow::GetSettings()
void TCustomFileNameWindow::SetViews()
void TCustomFileNameWindow::AdjustForCustom2Mode ()
void TCustomFileNameWindow::EnableMoreOptionsViews ( bool state )



// 3/16/01
b13

// SPOOLER print to file - use the new getUniqueNameForPrintToFile
short 	TPrintView::Print2File(GWorldPtr	anOffscreen)

// FG better spot to strip out base name if image name is default
CStr255_AC getPrintToFileName(tNewCanvasSizes	*aCanvas)
short 	TPrintView::Print2File(GWorldPtr	anOffscreen)

// make sure 'pabu' window is always in the front
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)

// created functions
long simplePower ( short base, short power );	// created 3/16/01
CStr31_AC FormImageNumber ( long value, bool doPad, short maxDigits );	// created 3/16/01

// adde extra preferences to basename options window
// added more items/views to adlib window #1264
Teps2000.rsrc
TepsNostalgia.rsrc
CustomFileNameWindow.cp
void TCustomFileNameWindow::SetSettings()
void TCustomFileNameWindow::GetSettings()
void TCustomFileNameWindow::SetViews()
void TCustomFileNameWindow::SetViews2 ()
void TCustomFileNameWindow::SetViews3 ()
void TCustomFileNameWindow::AdjustForCustom2Mode ()





// 3/16/01
version 0.0.612

// added new version resource file for TEPS-Amuse
versionAmuse.rsrc

// try to fix problem with file stamp with no image linked to it
GWorldPtr TPrintView::Draw4Printing(short	dpi, short	imageNumber, templateInfo	*aTemplate)



// 3/16/01
version 0.0.611

// IsValidFile is used improperly
bool TDummyCameraHandler::Check4NewFiles()


// 3/15/01
version 0.0.610

// force kodak tif as factory default
bool setMyInputPrefToFactoryDefaults ( tInputPrefPtr ptr )

// fix erroneous message
CStr255_AC getUniqueNameForPrintToFile (CStr255_AC	baseName, long	&startValue, CStr255_AC	ext, short leadZeros, FSSpecPtr	tmpFSSpec)

// should have one generic function for this
OSErr getBaseNameAndExtension ( CStr255_AC fileName, CStr255_AC &baseFileName, CStr255_AC &extension, CStr255_AC theSeparator )

// pass the correct base name not the entire filename
short 	TPrintToFileHandler::DoPrint(GWorldPtr	anOffscreen, Boolean	doPreview)


// 3/15/01
version 0.0.610
released and then found lots of bugs!!!!

// 3-14-01
// only post last image to be previewed when more
// than one file is tagged as newly grabbed
// NEED to check if pref option is turned on or not???????????????????
dummyCameraHandler.cp
	bool TDummyCameraHandler::Check4NewFiles()

// need to have separate function to get unique name for print to file option
// also truncates name when needed
CStr255_AC getUniqueNameForPrintToFile (CStr255_AC	baseName, long	&startValue, CStr255_AC	ext, short leadZeros, FSSpecPtr	tmpFSSpec)
CStr255_AC	formUniqueName ( CStr255_AC baseName, short	aValue, CStr255_AC	ext, short numOfZeros )

// fix printing so that Drag&Drop and Single up printing goes thru ONE function
void TPreviewImageWindow::Print(short	mode, Boolean doPreview, Boolean saveToFile, Boolean doBackground, Boolean now)

// ensure that print quantity and other settings are set properly
short TTepsPrintHandler::DoPrint(GWorldPtr	anOffscreen, Boolean	doPreview)

// display more meaningful messages
OSErr TSonyScsiPrinterDevice::IntializeThisPrinter ( short printerType )
	if ( scsiStatus!=noErr )	DisplayNormalMessage ( "TSonyScsiPrinterDevice::IntializeThisPrinter: ModeSelectCommand Error!" );	// replace 3/15/01
	if ( scsiStatus!=noErr )	DisplayNormalMessage ( "TSonyScsiPrinterDevice::IntializeThisPrinter: ClearMemoryCommand Error!" );	// replace 3/15/01
	if ( scsiStatus!=noErr )	DisplayNormalMessage ( "TSonyScsiPrinterDevice::IntializeThisPrinter: PrintQuantityCommand Error!" );	// replace 3/15/01

// do not continue if volume locked
void deleteAllFilesInFolder(FSSpec	theFSSpec)

// potentially fix random printer type problem
// must save current printer type of currrent canvas
// then set it back after printing the package
short TGeneralPrintHandler::PrintPackage()




// 3/14/01

// install thread idler - improves thread speed tremendously
void  TTeps2000Application::InitializeApplication()

// remove 3/14/01	gProgressIndicator->Start(-1, cSimpleProgressWindow, "Saving File");
// make sure if santa basename mode, use original image number
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01

// make sure check4new files only post one new image grabbed silent command
// in dummy camera mode
bool TDummyCameraHandler::Check4NewFiles()

// fix reading EXIF-2 thumbnails across network
PicHandle GetThumbnailFromFile(FSSpec	fileSpec)

// make show external monitor cleaner
// make sure to check for nil
void TCameraPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
TExternalWindowInfoPtr CreateDisplayImageInfo ( GWorldPtr anOffscreen, TImageFileObject *anImageFileObject )

// use new function CreateDisplayImageInfo
short DoPrintPreview ( GWorldPtr outputOffScreen, Boolean doUseTExternalVideoWindowServer, CStr255_AC	fileName, TImageFileObject	*anObject)
void TCameraPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,

// remove unused variables
Boolean TChooserTools::HasChooserDriverSelected ( void )
void TDropView::FillInImageFSSpec4BGPrinting(tNewCanvasSizes	*aCanvas, tPrintSettingsPtr	printSettings, bool now)
void DisplayError( Str255 s1, Str255 s2, Str255 s3, Str255 s4)
CStr255_AC getUniqueNameFromExistingOld(FSSpecPtr	fileSpec)
bool TNewKodakCameraHandler::CopyImageToFolder(FSSpec	*theFSSpec, bool	overwriteExisting)
bool TNewKodakCameraHandler::ConvertFile(FSSpec	*theFSSpec)
void DoPrintPreviewOLD (GWorldPtr outputOffScreen )
short DoPrintPreviewDoubleImage ( GWorldPtr offscreen1, GWorldPtr offscreen2, bool dispose)
bool TFujiNC600PrinterDevice::GetFujiPaperSize4000Loop ( char paperWidthCode )
bool TFujiScsi2PrinterDevice::GetFujiPaperSize4000Loop ( char paperWidthCode )
bool TNewFujiCameraHandler::Check4NewFiles()
OSStatus TPciDevice::FindAllOfThisKindOfDevices ( void )
short TPebblePciLib::Connect2 ( void )
short TPebblePciLib::Set_Device_Value2 ( UInt32 subaddress, UInt32 data, short deviceType )
void TLayoutObjectListView::SwapObject(short	objectNum1, short	objectNum2)
Boolean SaveOffscreen2File(GWorldPtr	anOffscreen, short recNum)
bool TTeps2000Application::SpecialPCCardCopyAndRename()



// 3/13/01

// fix and use the overwriting pref option for base name == original name
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01

// only add valid file to dummycamera list
bool TDummyCameraHandler::Check4NewFiles()

// follow leading zero consistency
CStr255_AC getUniqueNameFromExisting(FSSpecPtr	fileSpec)

//try to fix focus issue with external vid monitor after capturing new image from
// dummy camera mode
// also remove frame rect
OSErr TExternalVideoWindowServer::DoInit ( void )
GWorldPtr TExternalVideoWindow::SetDrawOffscreen ( GWorldPtr anOffscreen )
void TExternalVideoWindow::Draw ( const CViewRect &area )



// fix so that first time after launching app
// first image saved in dummyCameraMode is NOT 00000.jpg
TCameraHandler::TCameraHandler()
	fStartValue		= fCurrentImage;	// 3/13/01

// adlib 1041

// give more specific error message for kodak printer
short TKodakScsiPrinterDevice::CheckForKodakPrinterError ( short doVerbose )
short TKodakScsiPrinterDevice::CheckForWriteRequestGranted ( short doVerbose )


// 3/12/01
// re-enable backup utils button
adlib for utilities window

// nostalgia and teps2000
adlib 1210 - print tool bar for beginner mode

// fix print tool bar - beginner mode so that popup works
adlib #1261
adlib #1243

adlib wind 1267

// return correct type
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01

// fix disabling of preference views
adlib view 1041 for input -make sure all control type views in root view
void TPreferencesListView::DisableViews(short	theNum)

// add auto load new to input prefs
adlib view 1041	- prefs for 'hotA'
bool setMyInputPrefToFactoryDefaults ( tInputPrefPtr ptr )
void validateInputPrefs(tInputPrefPtr 	ptr)
void TInputPreferences::ViewsEnable(bool enable)
TInputPreferences::~TInputPreferences()
void TInputPreferences::SetSettings(tInputPrefPtr	ptr)
bool TInputPreferences::IsChanged()

// allow backup window to have more options in future
// also define pref to put all these bools together
tBackupWindowPrefsPtr getBackupWindowPrefs ( void )
void setBackupWindowPrefsToDefaults ( void )
void TBackupWindow::DoPostCreate(TDocument	*aDocument)
TBackupWindow::~TBackupWindow()
void TBackupWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TTeps1000Preferences::ReadPrefs()
void TTeps1000Preferences::WritePrefs() const

//need to use this in the future
bool	gDoUseLeadZeros	= false;	// 3/12/01 for both fuji and kodak

// fix jump to issue
void TN_UPThumbNailView::JumpTo(long ImageNum)	//10-10-00

// allow image to be automatically loaded when detected in dummycamera mode
void TCameraPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,

// allow kiosk window to be enabled if not at startup
adlib view 1042
void TPreviewWindowPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TPreviewWindowPrefs::SetSettings(tPreviewPrefPtr		ptr)

// make sure kiosk window is properly created, shown, and hidden
TPreviewImageWindow::~TPreviewImageWindow()
void TPreviewImageWindow::DoPostCreate(TDocument	*aDocument)
void TPreviewImageWindow::DoSetupMenus()
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)

//fix redraw of check box in special on up mode
void TOneUpPreviewImage::Zoom(bool	zoomIn)
void TOneUpPreviewImage::OffsetRect(CPoint_AC	theOffset)
void TOneUpPreviewImage::Reset()
void TOneUpPreviewImage::UpdateImagePreviewWindow()

// fix previewImage object after printing images
// and removing marked images from thumbnail
void TTEPSFileHandler::MarkAllImages(bool mark)

// allow message to show correctly in fg as well as bg
void TestApplicationIntegrityFailed ( bool isValid )




// 3/9/01
// add button to show 2up side by side in 2up mode
VIEW #1303 for 2up need button
added '2upb' button view
void TPreviewImageWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)

//if no images selected in 2up mode, then give message
//if only one image selected in 2up mode, then do zoomIn on one image
//if 2 images selected in 2up mode, then show 2 side by side
void TPreviewImageWindow::ShowTwoSideBySide(bool hires)

// if 2up mode and make thumbnail equal to preview image width
// then force thumbnail window to be smaller
void TThumbNailWindow::DoPostCreate(TDocument	*aDocument)

// make sure toolbar is reflected correctly
// if 2upmode and thumbnail width is small, then always show toolbar
// if 2upmode and thumbnail width is max, then hide toolbar
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)

//add toggle print tool bar window to window menu
CMNU - 11
void TTeps2000Application::DoSetupMenus()
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)



// 3/8/01
// v 0.0.69

// fix applying to colorsync when print to file
short 	TPrintToFileHandler::DoPrint(GWorldPtr	anOffscreen, Boolean	doPreview)

// update with new logo and positions for SPOOLER
void TBackgroundPrintWindow::DrawTriprismLogo(void)

// use new constants for status messages SPOOLER
#define	kSpoolerMesg_First	"Press 'Start' To Begin Spooler"
#define	kSpoolerMesg_Idle	"Spooler IDLING - Waiting for a New Job"
#define	kSpoolerMesg_Pause	"Spooler PAUSED - Press 'Resume' to start"
bool TPrintBGBehavior::DoIdle(IdlePhase	thePhase)
void TPrintBGBehavior::EnableBackgroundPrinting(Boolean enable)




// 3/7/01
// release as version 0.0.68
// 3/7/01

// fix menubar problem
void  TTeps2000Application::InitializeApplication()
	CMultiLocale_AC::InitCMultiLocal();						// 3-7-01


// myCreateNameUtils.c - make koko name work with kodak camera
	CStr255_AC getKodakCameraUniqueNameFromExisting(FSSpecPtr	fileSpec)
		bool	doUseLeadZeros	= false;	// 3/7/01	dont in school case???

// reflect different compiled versions
OSErr GetSoftwareVersion ( unsigned char *swVersion )

// fix about box for SPOOLER
void TBackgroundPrintWindow::DrawTriprismLogo(void)

// fix print to file crash in SPOOLER - non existant view
void TPrintToFilePrefs::DoPostCreate(TDocument	*aDocument)

// make sure output canvases display correct printer prefs
short	getResSaveNumberFromPrinterType(short	printerType)		// 2-22-01


// try to fix timing problem
short TKodakScsiPrinterDevice::TryToOpenSession ( short printerType )
short TKodakScsiPrinterDevice::TryToOpenSessionNew ( short printerType )

// fix "use default size" for overlay
void TOverlayObject::RealSize(short	resolution, TScalableView	*aView, float layoutHSize, float layoutVSize )






// 3/6/01
need to generate new hardware key code for teps-nostalgia
for BOTH FG and SPOOLER!!!!

// 3/6/01
still have problems with menubar!!!!!!!!
void TNewKodakCameraHandler::InstallMenu()
void TLayoutView::DoSetupMenus()
void TTeps2000Application::DoSetupMenus()


// 3/6/01
// have just one function to display missing key message!!
// need to accommodate FG and BG printing mechanisms
DisplayMissingSecurity ();	// added 3/6/01
bool TGeneralPrintHandler::ValidateSecurityKey(short	printQuantity)
bool TMainWindow::HasStartSittingKey()
Boolean ValidatePrint(Boolean isForeground, short	printerType, Boolean	setPrintQuantity)

// 3/1/01 - student id - check for max chars properly
// 3/6/01
adlib 1240 - add fields
void TStudentBarcodeWindow::DoPostCreate(TDocument	*aDocument)
void TStudentBarcodeWindow::DoKeyEvent(TToolboxEvent* event)
void TStudentBarcodeWindow::DoCheckBarCode()
void TKeyEventBehavior::SetOwnersView(TView *aView)
void TKeyEventBehavior::DoKeyEvent(TToolboxEvent* event)


// make sure view is correct if less than 9 avail packages in prefs
void TSchoolPhotographyView::ClearCustomView ()

// 3/6/01
update CMNU for Image - "Prompt for Image(s)"

// 3/6/01
// force logo to be on screen all the time
	void TBackgroundPrintWindow::DoPostCreate(TDocument	*aDocument)
	void TBackgroundPrintWindow::DrawTriprismLogo(void)

// change adlib - background window
moved buttons around
// cannot get delete all jobs folder to pull down???
//?????? why does pop-up menu display in wrong vertical position

// put back ability to prompt for images from main window
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)
		case 3333: // 3/6/01 put back

// enable upload to internet
void TUtilitiesWindow::DoPostCreate(TDocument	*aDocument)


// 3/5/01
// enable button for about box from spooler window
	added button for about box
	void TBackgroundPrintWindow::DoPostCreate(TDocument	*aDocument)
	void TBackgroundPrintWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 3/6/01
// SepiaTone

// create resource file (tepsNostalgia.rsrc) from teps2000.rsrc

// change pref name
	CStr255_AC		prefFileName = "TEPS-SepiaTone Prefs";	// 3/6/01 change prefs name

// Disable Utilities window
- disable ability to modify NODEs and Templates
- disable backup??
- disable compile log file

// 3/5/01
MENU 2000 - allow only one type of preview mode
MENU 2005 - allow only one type of preview mode
MENU 1008 - reduce number of printers
MENU 5000 - preferences allowed for nostalgia
MENU 2002 - rearrange



// 3-2-01
short TGeneralPrintHandler::GetPackageQuantity()
check for fPrintPreview==false

file: UPrintView.cp
added function
short TPrintView::GetFirstImageFile()

call it in:
void TPrintView::WriteHeader(TStream	*aStream, tNewCanvasSizes	*aCanvas,  tPrintSettingsPtr	printSettings)





edwin -

1. need a way to always read back the dpi
	what if i load overlayAA then switch to overlayBB
	and then come back overlayAA, i will not get a dpi for overlayAA
	the second time around!!!!!
	GWorldPtr	TOverlayObject::GetOverlayOffscreenFromRecordNumber(short	recNum)

2. menubar issue

3. import jpg and pict as 300dpi
	only pict retains correct dpi

4. is there another function like the
	return getUniqueName(baseFileName, theValue, extension, doUseLeadZeros, fileSpec);	// replace 2/28/01
	pass doUseLeadZeros as a short instead of bool



// 2/28/01
// re-testing menu bar issue
// look also under 2/27/01
// look also under 2/26/01

NewKodakCameraHandler.cp
	void TNewKodakCameraHandler::InstallMenu()
PreviewImageWindow.cp
	void TPreviewImageWindow::DoSetupMenus()
	void TPreviewImageWindow::Show(bool state, bool redraw)
UTeps2000Application.cp
	void TTeps2000Application::DoSetupMenus()




// 2/28/01

// allow longer names when in school photo mode
// and still have order file created correctly

// need to have preference in future to allow 0,1,2,3 leading zeros
// instead of passing bool????
myCreateNameUtils.c
	CStr255_AC getKodakCameraUniqueNameFromExisting(FSSpecPtr	fileSpec)

// allow student order file to end with ".info" or ".i"
SchoolLogFileUtilities.c
	short getAllFilesInFolder(FSSpec	theFSSpec)
StudentOrderFile.c
	TFile	*openStudentOrderFile(FSSpec	tmpFSSpec)
	TFile	*createStudentOrderFile(FSSpec	tmpFSSpec)
	TFile	*createPackageLogFile(FSSpec	tmpFSSpec)
	void formStudentOrderFileName ( FSSpec &tempFSSpec )
	void formStudentOrderFileNameOld ( FSSpec &tempFSSpec )
	bool isStudentOrderFileName ( CStr255_AC &fileName )
	bool doesStudentOrderFileExist(FSSpec	tmpFSSpec)
	bool doesStudentOrderFileExistNew( FSSpec &orderFSSpec )
	void writeStudentOrderFile(FSSpec	tmpFSSpec, char *bufferPtr )
	bool readStudentOrderFile(FSSpec	tmpFSSpec, char *bufferPtr)


// 2/28/01
- "set as default" overlay works properly with imported picts not jpegs for example
- when starting up app for the first time, need to delete all the
	miscellaneous tempfiles for overlays!!

// fix overlay object so that set as default size works properly
UOverlayObject.cp
	void TOverlayObject::RealSize(short	resolution, TScalableView	*aView, float layoutHSize, float layoutVSize )
	GWorldPtr	TOverlayObject::GetOverlayOffscreenFromRecordNumber(short	recNum)
ULayoutView.h
ULayoutView.cp
	void TLayoutView::DoMenuCommand(CommandNumber aCommandNumber)



// 2/28/01
release for desktop darkroom
version 0.0.64

// 2/28/01
reduce height of package text names

// only show non empty order items
SchoolPhotographyView.cp
	void TSchoolPhotographyView::DoPostCreate(TDocument	*aDocument)
	void TSchoolPhotographyView::UpdateCustomView ()
	void TSchoolPhotographyView::ClearCustomView ()
	adlib #1242 - added view 'xxxx'
	bool editPackageQuantity()


// 2/27/01
remove all changes with disappearing menubar problem

// prevent barcode greater than 17 char
adlib window #1240

// allow for 50 packages in student order file
// only showing 30 for now
adlib window #1245

SchoolPhotographyView.cp
	void TSchoolPhotographyView::GetPackageQuantities(tStudentOrderStruct	aStruct[kMaxStudentOrderPkg])
	void TSchoolPhotographyView::SetPackageQuantities(tStudentOrderStruct	aStruct[kMaxStudentOrderPkg])
	void TSchoolPhotographyView::Reset()
	void TSchoolPhotographyView::EndPreview(FSSpec	fileSpec)
	void TSchoolPhotographyView::BeginPreview(FSSpec	fileSpec)
	void TPackageQuantityWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
	bool editPackageQuantity()

StudentOrderFile.c
	bool readStudentOrderFile(FSSpec	tmpFSSpec, char *bufferPtr)

// enable F13,F14,F15 in change order window
SchoolPhotographyView.cp
	void TPackageQuantityWindow::DoKeyEvent(TToolboxEvent* event)



// 2/26/01
// fix problem with disappearing menu bar when hitting caps-lock and tab
MenuUtils.c
	void InstallNewMenu(ResNumber menuResID)
Resource - Teps2000.rsrc
	added MBAR #200 - operations window
	added MBAR #201 - template/node window
PreviewImageWindow.cp
	void TPreviewImageWindow::DoSetupMenus()
	void TPreviewImageWindow::Show(bool state, bool redraw)
UDesignWindow.cp
	void TDesignWindow::DoSetupMenus()
ULayoutView.cp
	void TLayoutView::DoPostCreate(TDocument* itsDocument)

//add color settings for fuji 3500 printer
Resource - Teps2000.rsrc
	updated MENU #2010 - added "Pictrography 3500"
myBasicConstants.h
	#define		kFujiPict3500Prefs		5034	// 2/26/01
TepsPrintHandler.cp
	TTepsPrintHandler *CreatePrintHandler(short	printerType, tNewCanvasSizes	*aCanvas)
	void DestroyPrintHandler(short	printerType, TTepsPrintHandler *aTepsPrintHandler)
	Boolean SetPrintQuantity(Boolean	showDialog, short	printerType)
FujiPrinterPreferences.cp
	myFujiColorAdjustInfo	gCurPictrography3500ColorAdjSettings;	// added 2/26/01
	const ResNumber 	cFuji3500View			= 1503;	// 2/26/01
	myFujiColorAdjustInfoPtr getMyFujiPrinterPrefs( short printerType )
	short initializePictrography3500SettingToFactory ( myFujiColorAdjustInfoPtr myPtr )
	short doValidateFujiColorAdjustInfoPtr ( myFujiColorAdjustInfoPtr ptr )
	void TFujiPrinterPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
	void TFujiPrinterPrefs::SetFactorySettings()
	bool TFujiPrinterPrefs::IsChanged()
FujiPrintHandler.cp
	void TFuji3500PrintHandler::InitializePrinterSettings()
	tPrintSettingsPtr	TFuji3500PrintHandler::GetPrintSettings()
myUpdColorAdjust.c
	myUpdColorAdjustInfoPtr getMyUpdColorAdjustInfoPtr ( short type )
PreferencesWindow.cp
	tNewCanvasSizes	*getThePrinterCanvas ( short printerType )
Teps1000Preferences.cp
	void TTeps1000Preferences::ITeps1000Preferences()
UPrintView.cp
	void WriteColorCorrectionValue(TStream	*aStream, short	thePrinterType)


// 2/23/01
// v0.0.64

// make sure status box is empty when set to ""
	void TAboutWindow::DoPostCreate(TDocument	*aDocument)

// update titles
Resource - Teps2000.rsrc - make sure text labels all matches
	updated MENU #2000
	updated MENU #2005
	updated MENU #2031
	updated MENU #2032



// 2-23-01
SelectImageWindow.cp
replace Radios with Checkboxes on select image view
Dimmed and disabled views that do not have a picture associated with it.
CommandNumber.h
Changed CommandNumbers to match checkbox view resources and not the radio view resources
Added new resources in Teps2000.rsrc	View 1619 and 1620


//  2/23/01 
// released v0.0.63
// for daniel to try out


// 2/14/01
always unmounted volume by accident
bool TStartSittingCopyHandler::ProcessFunction1()
		if (getMyStartSittingPrefs()->unmountVolume)	// 2-15-01


// 2/13/01
ImportPictCommand.cp
allow multiple images to be imported at once

create new file NewSessionStruct.h with suggested structures for the new version

do you want all PutFilesInList functions to use the new method of checking the 
modification date of the folder to determine whether to re-check the list of file?

// 2/8/01

edwin -

take a look at the new adlib window #2100 thru 2200
just to give you an idea what we are looking to do in next version;
see what you think - please think about it carefully
the best way is to try and emulate all modes that
our customers are currently using;


also - minor issues
1. when we copy or rename files, we maintain old extensions from original file -
	can we make sure all extensions are always UPPER case

2. when we import graphics - the navlib allows us to select more than one graphics
	can we import all selected files from the navlib into graphics database




// 2/8/01
// set as version 0.0.41

adlib and MENU resources updated

// 2/8/01

// set correct default for print to file mode
void doPrint2FileFactorySettings()

// set correct default dpi for fuji3500 printer
void doPictrography3500FactorySettings()

// show delete camera hot folder before closing operations window
OSErr TCameraHandler::ProcessFunction11 ()
OSErr TDummyCameraHandler::ProcessFunction11()
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)

// fix camera input re-draw issue
void TInputPreferences::SetSettings(tInputPrefPtr	ptr)
	FindSubView('cmvw')->Show(ptr->input == kDummyCameraInput, kRedraw);	// 2/8/01

// fix max numbering issue for aspen
#define	kMaxFileNameLoop	99999	// 2/8/01 was 5000	
use this constant instead of 5000
CStr255_AC getUniqueName(CStr255_AC	baseName, long	&startValue, CStr255_AC	ext, bool leadZeros, FSSpecPtr	tmpFSSpec)
CStr255_AC getUniqueNameForEmailFile(CStr255_AC	baseName, long	&startValue, CStr255_AC	ext, bool leadZeros, FSSpecPtr	tmpFSSpec)

// need to recast short to long - for aspen
CStr255_AC getUniqueName(CStr255_AC	baseName, long	&startValue, CStr255_AC	ext, bool leadZeros, FSSpecPtr	tmpFSSpec)
IDType TCustomServerCopyHandler::GetBaseName()	// 10-25-00

// put back old rotation method
void TPreviewImage::Rotate(CommandNumber	aCmdNumber)

// no longer need to constantly autosynchronize
void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)
bool	TTeps2000Application::DoIdle(IdlePhase	thePhase)

// use new method for copy pc-card to folder mode
bool TTeps2000Application::SpecialPCCardCopyAndRename()



// 2/7/01
#define		kDefaultDummyCameraName		"My Camera"		// 2/7/01 "Dummy Camera"
void TInputPreferences::PrepareInputPopup(IDType	theType)
	myAppendMenu(anListMenu, "\pCamera Hot Folder");	// 2/7/01

// get the correct base name
bool TCameraHandler::SaveCopyInSittingFolder(FSSpec	*srcFSSpec)	// 2-6-01

// preview correct hires and low res zoomed in image
void TPreviewImage::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
// fix memory crash
void TPreviewImageWindow::ShowTwoSideBySide(bool hires)
short DoPrintPreviewDoubleImage ( GWorldPtr offscreen1, GWorldPtr offscreen2, bool dispose)

// force float window to be off in double up mode
// allow one or more marked images to be shown when entering double up mode
void TPreviewImageWindow::DoModeChange(short	mode, Boolean force)


// 2-5-01
using a F-key (print package) in the two-up mode caused a crash
fix in OSErr TPreviewImageWindow::PrintPackage(short item, Boolean	spool, Boolean preview, Boolean now)


void validateStartSittingPrefs(tStartSittingPrefPtr ptr)	// 2-5-01

void TCameraHandler::Synchronize4CameraHotFolderMode()
	use cResetSynchronize instead of cResetErrors which caused a redraw

view resource 1243 and 1261 add closebox to kiosk window
new CMNU under windows menu 'Show Kiosk Window'
added void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)
			case cShowKioskWindow:										// 2-5-01

added tab key event that hides/shows floatwindows
void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)
	if (theCharacter[1] == chTab)
		ShowFloatWindows(fFloatWindowList!=nil, true);


void TPreviewImageWindow::ShowFloatWindows(bool state, bool	dontHideThumbnailWindow)

//


// 2/1/01 steve
// release for aspen as 0.0.37

set default preferences back to santa

adlib #1063	- wording of text
adlib #1075 - starting number is now 5 digits long
			- added 'defb' to use default for starting number
adlib #1082 - added 'ask1' and 'ask2' checkboxes - you define pref fields
				added checkbox for "Display Copied Images Only" - you define IDType
adlib #1281	- new window to prompt for photographer id
adlib #1282 - new window to prompt for pccard number

StartSittingHandler.cp
you need to define pref to determine if prompt or not
prompt for photographerID and/or pccard number
	#define    cPromptPhotographerIDWindow		1281    // 2/1/01
	#define    cPromptPCCardNumberWindow		1282    // 2/1/01
	IDType GetPhotographerIDWindow(short &theNumber);	// 2/1/01
	IDType GetPCCardNumberWindow(short &theNumber);		// 2/1/01
	IDType TCustomServerCopyHandler::GetBaseName()	// 10-25-00

StartSittingPrefs.cp
	TBaseNameWindow::TBaseNameWindow()
	short TBaseNameWindow::SetStartingNumber(short theNumber)
	void TBaseNameWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

TExternalVideoWindow.cp
if stamp has hide extension then hide extension before displaying to external video monitor
	void TExternalVideoWindow::DrawStamp(tMonitorStamp	*aStamp, const CRect_AC &offscreenRect, CStr255_AC theString)

StartSittingPrefs.h
create class member to handle default starting number
	class TBaseNameWindow : public TWindow
		TBaseNameWindow();	// 2/1/01
		short	SetStartingNumber(short theNumber);	// 2/1/01
		short	fStartingNumber;	// added 2/1/01



// 2/1/01
bool	gotoSelectImageWindow()
	added auto zoom option
	
StartSittingPrefs.cp
	added bool showCopiedFileOnly 
	
TepsFileHandler.cp
StartSittingHandler.cp
bool TStartSittingCopyHandler::ProcessFunction1()
	if (showCopiedFileOnly) create and pass fileList(CSortedList_AC) to SaveAllToFolder functions

Views 1063 added checkbox 'auto zoom'
Window 1082 added checkbox 'Show Copied Files Only'

TepsFileHandler.cp
Check4NewFiles added check for showCopiedFileOnly==false else old files will automatically be loaded again

// 1/30/01
changed adlib window earlier - hope edwin got these changes
Teps-2000.rsrc	- STR#4112 - fix and add strings
DialogMessageConstants.h - define more constants in 
	void TInternetUploadPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
	void TPrintToFilePrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)




// 1/30/01
// release as version 0.0.36
try to fix track mouse issues
	void TDragAndDropToolWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
	void TDropPreviewImage::SetDragging(bool dragging)
	void TShiftAndZoomWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)

set factory default for normal users
	Boolean setMyStartSittingPrefToFactoryDefaults ( tStartSittingPrefPtr ptr )

fix default dpi for pg3500 = 267;
pg3500 does not support 200 dpi
	void doPictrography3500FactorySettings()

fix zooming/shifting button TrackMouse issues
	void THoldMouseDownButton::TrackMouse(TrackPhase	aTrackPhase,
	const short mLetGoMouseDownButton 	= 105;	// 1/29/01 - check if done tracking mouse
	const short mStartMouseDownButton 	= 106;	// 1/29/01 - check if start tracking mouse


// 1/29/01
fix zooming in/out redraw issue with too many eraseRects
	void TDropPreviewImage::ZoomOut()
	void TDropPreviewImage::ZoomIn()

adlib window #1204 drag and drop tool bar - remove go away box


// 1-29-01
added check for autopreview in
bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)

implemented new functions
3. would like to have zoom/shift icon buttons work like picture buttons
	if hold down - continuously zoom or shift
is resource change

4. in editing/creating template, when rotating an imageObject, also make
	rect change just like when rotating a nodeObject
created new function
bool	TImageObject::CanRotate(float	rotation, TLayoutView	*theView)		// 1-29-01
called in:
void TImageSettingsWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
changed function void TImageObject::SetImageRotation(float	rotation)

fixed bug
5. when accidentally double-clicking on guide marks in editing template,
	crashes app
TTracker* TLineDragger::TrackMouse
return this instead of return NULL

added function to move guides when scaling changes (zooming in/out)
CViewRect TLayoutView::GetScaledRect(CViewRect	theRect)		// 1-29-01
called in
void TLayoutView::DoMouseCommand(CViewPoint& theMouse,TToolboxEvent* event,CPoint_AC hysteresis)
ResNumber TLayoutView::GetCursorID()
void TLayoutView::DrawGuides()


// 1/26/01
try to fix zooming out aspect ratio issues
	void InsetRects(CRect_AC	&srcBound, CRect_AC	&dstBound, CRect_AC	maxSrcBound, CRect_AC	maxDstBound, short	steps, float xRotationStartValue)

put "for demo only" to external video monitor
	void TExternalVideoWindow::Draw ( const CViewRect &area )


// 1/25/01 after release
try to solve problem with zooming in/out with rotated node
DropPreviewImage.cp
	void TDropPreviewImage::ZoomIn()
	void TDropPreviewImage::ZoomOut()
	void TDropPreviewImage::Prepare4Drawing()
	void InsetRects(CRect_AC	&srcBound, CRect_AC	&dstBound, CRect_AC	maxSrcBound, CRect_AC	maxDstBound, short	steps, float xRotationStartValue)
DropPreviewImage.h
	add extra parameter
	void InsetRects(CRect_AC	&srcBound, CRect_AC	&dstBound, CRect_AC	maxSrcBound, CRect_AC	maxDstBound, short	steps, float xRotationStartValue = 0.0 );	// 1/25/01 added float rotated node or not
UImageObject.cp
	void TImageObject::Calculate4ZoomAndInset(CRect_AC	&srcRect, CRect_AC	&dstRect, CRect_AC	maxDstRect)


// 1/25/01
// release as 0.0.35

update ALL the 'ALRT's - use correct resource icon id
and fix all single quotes to double quotes

remove test menu items
	void TPreviewImageWindow::DoSetupMenus()

fix school photography mode with zero-ing out package orders in start sitting mode
	TPreviewImageWindow::~TPreviewImageWindow()
	bool TPreviewImageWindow::NewSchoolPhotographySitting(CStr255_AC	student)

fix redraw focus problem with n-up images in TSelectImageView
	void TSelectImageView::Draw(const CViewRect& area)

fix nil pointer problem
	void TOneUpPreviewImage::Prepare4Drawing()


// 1/24/01
doContinue in right spot?
	bool	gotoSelectImageWindow()

try to center views
	adlib window #1270
	bool TSelectImageWindow::SetImageToShowSpecs(FSSpec	dir, short	image, CStr31_AC	folderName)

show white text color in slide show - need prefs for this in future
	adlib view #1609


// 1-24-01
file: DropPreviewImage.cp
void TDropPreviewImage::Prepare4Drawing()
	check for nil offscreen

file: PreferencesWindow.cp
added function to convert pref constant to position in list
short getItemNumberFromConstant(short		prefConstant)		// 1-24-01
search for 1-24-01 to find where the function is called

file: InputPreferences.cp
pass the correct item for fuji camera with school photography mode (bug with PS 2.0)
short translateCameraSourceToInput(tSource	*source)

file: SelectImageWindow.cp
bool	gotoSelectImageWindow()
check for list size and posemodally is 'ok  ' before doing autoPreview

bool TSelectImageWindow::SetImageToShowSpecs(FSSpec	dir, short	image, CStr31_AC	folderName)
read the size of the thumbnails from the view resource and pass it to loadimages to have variable size images

// 1/22/01
// 1/23/01
added fCurrentlySelectedView to TSelectImageView to have a better redraw

added preference TPreviewImagePrefs with default previewImagesChoice

changed slideshow background to black

added two fields to tSelectImagePrefStruct
	bool		searchInAllSubFolders;
	bool		autoPreview;
added search in all subfolders if pref is set
bool TSelectImageWindow::SetImageToShowSpecs(FSSpec	dir, short	image, CStr31_AC	folderName)
added auto preview of found image if preference is set
void TSelectImageWindow::PutSelectedImagesInMainFileList()
	if (getMySelectImagePrefs()->autoPreview)		// 1-22-01
added function:
short findFileInAllFolders(FSSpec	theFSSpec, short image, TTEPSFileHandler	*aHandler)		// 1-22-01
	in myFolderUtils.c

// 1/22/01
get the stamp to work correctly in rotated modes too
	void TExternalVideoWindow::DrawStamp(tMonitorStamp	*aStamp, const CRect_AC &offscreenRect, CStr255_AC theString)
	void TExternalVideoWindow::AdjustWindowRect ( void )
	bool	computeExtVideoRects(short	monitorWidth, short	monitorHeight, short textSizeHeight, extVideoRectsPtr aPtr );	// 1/22/01
	bool checkIfNeedDrawBox ( tMonitorStamp	*aStamp );	// 1/22/01
	CRect_AC	getDrawBox ( extVideoRectsPtr aPtr, tMonitorStamp *aStamp );	// 1/22/01
	OSErr drawTextInRect ( GWorldPtr aWorld, CRect_AC textRect, CStr255_AC theString, tMonitorStamp *aStamp );
	CRect_AC	getRotatedDrawBox ( extVideoRectsPtr aPtr, tMonitorStamp *aStamp );	// 1/122/01

ADLIB window 1212 - external video window floats but does not have the float bar
					change FG and BG color

ADLIB view prefs 1059 - added prefs for monitor labels

add code for monitor labels prefs
	Boolean setMyExternalVideoPrefToFactoryDefaults ( tExternalVideoPrefPtr ptr )
	TExternalVideoPrefs::~TExternalVideoPrefs()
	bool TExternalVideoPrefs::IsChanged()
	void TExternalVideoPrefs::SetSettings(tExternalVideoPrefPtr	ptr)

show updated monitor labels
	OSErr TExternalVideoWindowServer::PromptAndDisplayImage ( TExternalWindowInfoPtr aPtr )

fix centering of floating window to external monitor
TQDDevice.cp
	CViewRect FitFloatingWindowToScreen ( CViewRect screenVRect, bool hasMenuBar, bool hideWindowBar )


// 1/19/01  - steve
adlib window #1264
adlib window #1280 - use TOffscreenPicture views
OffscreenPicture.cp
OffscreenPicture.h
	TOffscreenPicture::TOffscreenPicture()
	TOffscreenPicture::~TOffscreenPicture()
	GWorldPtr TOffscreenPicture::DisposeOffscreen(void)
	bool TOffscreenPicture::SetDoDisposeOffscreen(bool flag)
	void TOffscreenPicture::SetOffscreen(GWorldPtr	anOffscreen)
TExternalVideoWindow.cp
	void TExternalVideoWindow::DrawString ( const CRect_AC &offscreenRect, tExternalVideoPrefPtr prefPtr )
	void TExternalVideoWindow::DrawString ( const CRect_AC &offscreenRect, tExternalVideoPrefPtr prefPtr )
	OSErr TExternalVideoWindowServer::PromptAndDisplayImage ( TExternalWindowInfoPtr aPtr )

save alignToTop prefs
	void TExternalVideoPrefs::GotoVideoMonitorStampWindow(short	stampNum)


// 1/19/01
StartSittingHandler.cp
bool TStartSittingCopyHandler::ProcessFunction1()
	add support for saving with original name

bool TTeps2000Application::EnterPreviewWindowWithoutImages ()
	pose menu item when going into preview window without images
			gApplication->PostCommand(new TPostWindowMenuCommand(fPreviewImagesWindow, 3333, 60));	// 1-19-01

bool TTeps2000Application::SpecialPCCardCopyAndRename()
	short unMountVolume ( void );	// 1-19-01
bool TStartSittingCopyHandler::ProcessFunction1()
	short unMountVolume ( void );	// 1-19-01

TPopupCommand::TPopupCommand(TView	*aView, IDType	theType) :
		TCommand(1100, aView->GetContext(1100),false, false, NULL)
void TThumbnailToolsView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
added popup to add files/folder button



// 1/15/01
fix problem with too long of name string
this affects FG and BG
	CStr255_AC	createName(CStr255_AC	baseName, short	aValue, CStr255_AC	ext, bool leadZeros, short numOfZeros)

MEMORY LEAK !!!!!!! need to double and triple check again
make sure that pixmap is unlocked when done
need to check for all other cases like this too???????????  ???????????
	GWorldPtr copyGWorldToScreen(GWorldPtr	offscreen, CRect_AC	srcRect, CRect_AC	dstRect, bool forceBetterResize)

// 1/12/01
try to make external preview monitor work better
	lots of changes in TExternalVideoWindow.cp and TExternalVideoWindow.h
try to make external preview monitor work better
need to make changes to all references like this function 
	short DoPrintPreview ( GWorldPtr outputOffScreen, Boolean doUseTExternalVideoWindowServer, CStr255_AC	fileName)

// 1/5/01
// fix kodak printing problems
// incorporate original changes from 10/19/00 and 10/20/00 from version 7.4.831
sizeof does NOT give true struct size - must force the desired size
	OSErr TKodakScsiPrinterDevice::TransferKodakStatusInfo ( const unsigned char *theDataPtr )
try to fix issues with kodak 8660 printers
	OSErr TKodakScsiPrinterCmdSet::ReceiveCommand ( long theLen )
	short TKodakScsiPrinterDevice::TryToOpenSessionNew ( short printerType )
added member function
	short TKodakScsiPrinterDevice::TestUnitReadyCommandLoop ( void )




to do:
set resolution for print to file and save composition as
5-up, 7-up and 9-up for select image window + fix bugs
foldername for External video window (with stamp mechanism) 3 stamps
eject source disk after copying trough custom server copy
base name options use original name with pref to overwrite or create unique or do not copy the file
look into shifting problem

// 1-8-00
// 1-9-00
// 1-10-00
added a class TNewFontStyleSettingsView that easily allows to set the font, size, style and color for a text returning
a tTextInfo structure
added a displayName option to TExternalVideoPrefs for displaying the fileName and style structure
void TExternalVideoWindow::Draw ( const CViewRect &area )
added
	if (getMyExternalVideoPref()->showFileName)	// 1-8-01

// 1-2-00
// 1-3-00
// 1-4-00
// 1-5-00
added the discovery cove source to the Teps2000 project and made it Carbon compliant
debugging discovery cove software

// 12-18-00
fixed:
bool TSittingPreferences::IsChanged()
bool TPreviewWindowPrefs::IsChanged()
bool TKodakPrinterPrefs::IsChanged()
bool TOutputPreferences::IsChanged()
bool TSlideShowPrefs::IsChanged()
bool TInternetUploadPrefs::IsChanged()


void TTEPSFileHandler::CheckIfDeleteAllImages()
added delete without warning

corrected password protection for locked items that could still be changed while locked
void TPreviewWindowPrefs::ViewsEnable(bool enable)
void TStartSittingPrefs::ViewsEnable(bool enable)
void TFujiPrinterPrefs::ViewsEnable(bool enable)
void TPrintToFilePrefs::ViewsEnable(bool enable)
void TColorSyncPreferences::ViewsEnable(bool enable)
void TSlideShowPrefs::ViewsEnable(bool enable)

// 12-14-00
added a use printer profile to for each printer
write alias file with right application creator type
created a new function for creating a copy when jumping to image editor:
void	getUniqueNameWithCopy(FSSpec	*fileSpec)	// 12-14-00

// 12-11-00
// 12-08-00
file: AliasHandleUtils.c
Added function:
	bool writeAliasFile(FSSpec	appFileSpec, short	aliasAppType)
Creating file with resource 'alis' id 0 and set FinderInfo to kIsAlias

file: myAppleEventUtils.c
If no alias exists for Image Editor App or Backup App, ask whether to create one if successful launch application
OSErr myJumpToImageEditorWithFile(FSSpec	fileToOpen)
OSErr myJumpToBackupAppWithFile(FSSpec	fileToOpen)		// 10-30-00
created:
	OSType	getFSSpecOfFirstFileInDir(FSSpec	theFolder, FSSpec	*theFile)
	OSErr	sendOpenFileAppleEventToAppWithAppFSSpec(OSType	appSignature, FSSpec	fileToOpen, FSSpec	appToOpen)
	OSErr LaunchApplicationByFSSpec(FSSpec fileSpec, bool showWarning)

// 12-08-00
changed LaunchApplication to open by FSSpec rather than application signature (as we have the alias anyway)

add a line to show the filename of the image that is copied to the Spooler folder
void TTEPSFileHandler::SaveAndReturnSavedFSSpec(short vRefNum, long	parID, long	fileNumber, FSSpec *theFSSpec)
		gProgressIndicator->SetFileName(srcFSSpec.name);

// 12-07-00
TEPS-SPOOLER
added two new functions to pass the files list from TPrintView to TPrintBGBehavior
void TPrintBGBehavior::SetFilesToDelete(CList_AC	*fileObjects)
void TPrintBGBehavior::DeleteFilesUsed4Printing()

added new switch case in:
bool TPrintBGBehavior::DoIdle(IdlePhase	thePhase)
		case kTPI_JobCancelled:
if job is cancelled a dialog is presented allowing the user to reinsert the jobfile

call  DeleteFilesUsed4Printing after everything is all done

in short TPrintView::Draw4Printing() set status to  'status = kTPI_JobCancelled' if drawing of object fails

added ALRT 1003 to backgroundprinting.rsrc

TEPS-2000
void TDropPreviewImage:Draw
pass false instead of fImageSize==kThumbnailSizeImage as the 4th argument
	fViewOffscreen = copyGWorldToScreen(fViewOffscreen, offscreenRect, qdExtent, false/*fImageSize==kThumbnailSizeImage*/);

void TPreviewImageWindow::SetColorAdjustSettings()	// 10-16-00
	if (currentFile > 0 && currentFile <= getCurrentInputHandler()->GetFileList()->GetSize())	// 12-07-00

file: NewKodakCameraHandler.cp
static char *ImageProcessCallback(DCImageIOStruct ImageIO)
added
#ifdef kBackgroundPrintApp				// 12-07-00
	if (checkForCmdDot()) return NULL;
#endif

void TTEPSFileHandler::PostProcessFile(short	objectNum)
prevent invalid objectNum from getting passed into list
	if (objectNum > 0)		// 12-07-00
void TTEPSFileHandler::SavePrintedFiles()
reverse removing from list
		for (short index1 = totalIndex1; index1 > 0; index1--)		// 12-07-00

// 12/6/00
// b31
//fix internet upload when cancelling out while TestIfConnectionExists
//prevents file being moved if TestIfConnectionExists fails or user cancels out
	OSErr UploadFile(FSSpec	tmpFSSpec, bool move, ImageUploader* imageUploader )

// fix problem with base name starting with a new base number 
// especially when in santa mode
CStr255_AC getKodakCameraUniqueNameFromExisting(FSSpecPtr	fileSpec);
bool validKokoMonth ( char charMonth );
bool validKokoDay ( char charDay );
bool validateKokoBaseFileName ( CStr255_AC baseName );
bool getImageNumberFromKokoBaseFileName ( CStr255_AC baseName, long &imageNumber );
void TNewKodakCameraHandler::GetUniqueName(FSSpec	*theFSSpec)

// save email files with sitting folder name is still NOT correct
CStr31_AC	getUploadFileName( FSSpec srcFileFSSpec )

//12/06
added TSelectImageWindow to add images to thumbnailbar through find folder and image mechanism
accessed through menu option Image - Test Menu Item

//12-05-00
~TTEPSFileHandler()
added
	delete fFileList;			// 12-05-00
	delete fSaveFileList;		// 12-05-00
	delete fRemoveFileList;		// 12-05-00


// 12/4/00
// b31
fix problem in double mounting pc-card
	void checkForDiskEvtNew ( void );
	pascal	OSErr FindVolumeByNameNew ( Str255 volumeName, short *vRefNum );



// for daniel - but NOT released for noerr
// add option to remove images from thumbnail view after printing

	found all if (autoSaveAfterPrinting) getCurrentInputHandler()->AddFileToSaveList()
	put autoSaveAfterPrinting in funtion

	added member autoRemoveAfterPrinting
	Boolean setMyPrintingPrefToFactoryDefaults ( tPrintingPrefPtr ptr )
	TPrintingPrefs::~TPrintingPrefs()
	void TPrintingPrefs::ViewsEnable(bool enable)
	void TPrintingPrefs::SetSettings(tPrintingPrefPtr ptr)
	bool TPrintingPrefs::IsChanged()
	adlib view 1050 added 'aurm' check box


// 12/1/00
// b30

// free up offscreen if user answers 'no  '
	void TTeps2000Application::FindImageAndEnterEmail()

// create and add a new list for images to be removed after printing
	TTEPSFileHandler::TTEPSFileHandler()
	void TTEPSFileHandler::AddFileToSaveList(short	objectNum)
	void TTEPSFileHandler::AddFileToRemoveList(short	objectNum)
	void TTEPSFileHandler::SavePrintedFiles()

// major bug
fix special 1up mode when update thumbnail - dont how it worked in past
	void TOneUpPreviewImage::Draw(const CViewRect &area)

// allow user to pause during internet conversion process
	void TTEPSFileHandler::SaveAllToInternetUploadFolder()
	bool TTEPSFileHandler::SaveFileToInternetUploadFolder(short	image)
	void TMyProgressIndicator::ResetPause()
	void TMyProgressIndicator::SetText6(CStr255_AC	str)		// added 12-01-00
	void TProgressWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
	TEPS2000.rsrc	changed ALRT	1049
	progress.rsrc	changed View	9013


// 11/30/00
upgraded to Kodak SDK 1.7.0

void TPreviewImageWindow::DoSetupMenus()
	Enable(cEnterEmailAddresses, fMode==kSinglePreviewMode ||
									fMode==kOneforAllMode);	// changed 11-30-00


bool TNodeViewObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi, TView	*theView)
added
		offscreenRect 	= myGetPortRect(tmpOffscreen);		// 11-30-00
after rotating rects

// 11/29/00
removed all references to Old open en save file dialogs (NavigationServicesAvailable)
void TTeps1000Preferences::ITeps1000Preferences()
Set some preferences to default if creating new pref file
	setMySlideShowPrefToFactoryDefaults
	setMyExternalVideoPrefToFactoryDefaults
	initializePictrography3000SettingToFactory ( getMyFujiPrinterPrefs(kPictrography3000) );	// 11-29-00
	initializePictrography4000SettingToFactory ( getMyFujiPrinterPrefs(kPictrography4000) );	// 11-29-00
	initializeFujiNC600SettingToFactory ( getMyFujiPrinterPrefs(kFujiNC600Printer) );			// 11-29-00

Boolean setMyPreviewPrefToFactoryDefaults ( tPreviewPrefPtr ptr )
changed default from small to medium
	ptr->thumbnailSize				= kMediumThumbnailSize;	// changed 11-29-00

// 11/28/00
changed void TCameraHandler::Synchronize4CameraHotFolderMode()	// 11-02-00
to use the new tHotFolderPrefs

TTeps2000Application::DoIdle
 only synchronize if getMyStartSittingPrefs()->hotFolder.autoSynchronizeWithSittingFolder = true
add synchronizeInterval to TTeps2000Application::DoIdle

added function
	void 	GotoHotFolderPrefsWindow(tHotFolderPrefs	*ptr);		// 11-27-00
typedef struct tHotFolderPrefs

changed progress resource 9013 to number beyond 255

void TPrintToolbarWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
	fix the redraw/update of the editable text in drop and drag mode

bool TNewKodakCameraHandler::IsValidFile(TFile	*aFile)
funtions is calling IsValidKodakFile instead of opening up the file to read the header
	bool isValid =  IsValidKodakFile(aFile->GetFileSpec()); // 11-27-00


// 11/22/00
// 11/23/00
created a new file myCarbonUtils with functions to be called instead of
	#ifdef qCarbon
	#else
	#endif

// 11/21/00
// in camera start sitting mode and hot folder show distinguishing icon and message
short TNewKodakCameraHandler::GetIconAndStatusText(CStr255_AC	&statusText)
short TNewFujiCameraHandler::GetIconAndStatusText(CStr255_AC	&statusText)
short TTEPSFileHandler::GetIconAndStatusText(CStr255_AC	&statusText)

// 11/21/00
// b27

//filter out files that dont end with .TIF
	bool IsValidKodakFile(FSSpec	theFSSpec)

// 11/20/00
b27
when converting images, make sure to use the same name as the original source folder
	bool TTEPSFileHandler::SaveFileToInternetUploadFolder(short	image)

use the new getUniqueName function for email files
	bool SaveAsJPEGFileWithEmailHeader(GWorldPtr	aBGGWorld, FSSpec	*theFSSpec, bool overwriteExisting)
add .tpi to email file names

fix thumbnail update problem with more than 300+ images
	void TN_UPThumbNailView::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)

fix popup menu in thumbnail with 300+ imageas - always force back to small popup size
	void TN_UPThumbNailView::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)

make the add images to folder button into TIconButton instead of TIconPopup
	adlib 1201
	
enable ability to delete internet folders on radio button as well as main images folder
	adlib 1016

ability to delete internet folder which contains the log sub-folder
	void TFolderListView::DeleteSelectedFolders()
	void TFolderListView::DeleteFilesInFolder(FSSpec dirFSSpec)	// overload function
	bool formDesiredFolderName ( FSSpec &theFSSpec, CStr255_AC theName )

should replace older FindFolder(CStr255_AC	theName) with newer case - why hard code fsspec?????
and check for name with case NOT sensitive
	long TFolderListView::FindFolder(FSSpec mainFolder, CStr255_AC theName) // overload function



// 11-17-00
b27
// fix text rotation problem due to carbon/newmacapp compat
// fix printing of zoomed image in spooler and fg
// fix fuji camera input - always delete temp file even if hidden


// fix text rotation problem due to carbon/newmacapp compat
file: UStampObject.cp
void TStampObject::Draw4Preview(GWorldPtr	outputOffscreen)
bool TStampObject::Draw4DragAndDropPrinting(GWorldPtr	outputOffscreen, short	dpi)


bool TStampObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)

file: UTextObject.cp
void TTextObject::Draw4Preview(GWorldPtr	outputOffscreen)
bool TTextObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)

added 
		#if qCarbon	//11-17-00
				CRect_AC	offscreenRect = GetPortRect_AC(fTextOffscreen);
		#else						
				CRect_AC	offscreenRect = fTextOffscreen->portRect;
		#endif
before
		myCopyBits(fTextOffscreen, outputOffscreen, offscreenRect, tempQDRect, transparent,NULL);

SAME FOR SPOOLER APP changed UStampObject.cp + UTextObject.cp function: Draw4Printing


// fix printing of zoomed image in spooler and fg
file: UImageObject.cp
void TImageObject::SetImageFSSpec(FSSpec	aFSSpec)
{
	fImageSpec 	= aFSSpec;
	fInsetSteps = 0;			// 11-17-00
	fOffset 	= GetOffset();	// 10-12-00
CPoint_AC	TImageObject::GetOffset()
		if (theOffset != CPoint_AC(0,0) || fInsetSteps != 0)		// 11-17-00

// fix fuji camera input - always delete temp file even if hidden
file: TNewFujiCameraHandler.cp
bool TNewFujiCameraHandler::CopyImageToFolderPart2 ( FSSpec* theFSSpec, bool overwriteExisting )
always overwrite existing tempfile
		didSaveIt	= SaveAsJPEGFileTemp (theFSSpec->name, fAcquiredGWorldPtr, theFSSpec, true );

file: myCreateNameUtils.c
CStr255_AC getUniqueName(CStr255_AC	baseName, long	&startValue, CStr255_AC	ext, bool leadZeros, FSSpecPtr	tmpFSSpec)
CStr255_AC getUniqueNameFromExistingOld(FSSpecPtr	fileSpec)
added the following in both functions:
	if (counter >=5000)		// 11-17-00
	{
		DisplayNormalMessage("\pgetUniqueName: counter > 5000");
	}
CStr255_AC	createName(CStr255_AC	baseName, short	aValue, CStr255_AC	ext, bool leadZeros, short numOfZeros)
// added argument short numOfZeros default = 4


// 11-16-00
created destructor ~TPackageWindow that resets getMyPreviewPrefs()->currentPackage if a package was deleted

CStr255_AC getUniqueName(CStr255_AC	baseName, long	&startValue, CStr255_AC	ext, bool leadZeros, FSSpecPtr	tmpFSSpec)
	changed to if (baseName.Length() > 8)	 

// 11-15-00
GWorldPtr TPrintView::Draw4Printing(short	dpi, short	imageNumber, templateInfo	*aTemplate)
restore currentfile before going into TStampObject::Draw4Printing
	getCurrentInputHandler()->SetCurrentFile(imageNum);		// 11-15-00

CStr255_AC TShowThumbnailBalloonBehavior::GetInfoString()
	short index = getCurrentInputHandler()->GetCurrentFile();		// 11-15-00
and restore current file 

// 11-15-00
file: myCreateNameUtils.c
CStr255_AC getUniqueName(CStr255_AC	baseName, long	&startValue, CStr255_AC	ext, bool leadZeros, FSSpecPtr	tmpFSSpec)
 	// replaced FSMakeFSSpec with IsExistingFile
CStr255_AC getUniqueNameFromExistingOld(FSSpecPtr	fileSpec)
 	// replaced FSMakeFSSpec with IsExistingFile
file: password.h
	// changed tPasswordStruct itemLocked[30] instead of 20

// 11/14/00
need to change all places that uses
	if (FSMakeFSSpec ( theFSSpec->vRefNum, theFSSpec->parID, theFSSpec->name, theFSSpec ) == noErr)
	with IsFileExists (theFSSpec)==true

FSMakeFSSpec is NOT a good function to determine if file exists or not!!!!!!
there are 58 occurences!!!!!

bool SaveAsJPEGFileWithEmailHeader(GWorldPtr	aBGGWorld, FSSpec	*theFSSpec, bool overwriteExisting)



// 11-14-00
release as b24
edwin ????
????? document?????



// 11-13-00
added virtual CStr31_AC TTEPSFileHandler::GetExtension()	// 11-13-00
added CStr31_AC TNewKodakCameraHandler::GetExtension()		// 11-13-00
added CStr31_AC TNewFujiCameraHandler::GetExtension()		// 11-13-00


// 11/9/00
// b22
replace datestring from "/" to "-"
java does NOT like folder name to contain "/"; it uses it as path separator



// 11/9/00
// b21
fix problem with chooser printing of correct fsspec template name


// b20

// 11/8/00
added TIdleWindow
added TExternalFilePicture
added button on foldername window to select custom folder
adlib 1258
#define		kExternalImageFolderString			"TEPS LOGOS FOLDER "	// 11-08-00
STR# 4700 contains all names of any external logo files or images names


// 11/7/00
// b19
fix chooser to print correct items in packages
added extra button in image process window to backup main images folder as well as internet images folder
	added more members to typedef struct tGeneralSettings
	gAutoBackupMIFolder created
	void TTeps1000Preferences::ReadPrefs()
	void TTeps1000Preferences::WritePrefs() const
	void TTeps1000Preferences::ITeps1000Preferences()
	
want the folder selection window to show items in that folder
should be part of TFolderListView?? or add behavior to it and get its member count values
	created TBackupWindow class
	void RegisterMacAppClasses()
	added whole class in BackupWindow.cp

fix problem with double acquiring of kodak images when extern video monitor prefs is ON
	bool	TCameraHandler::ConfirmSaveImage(bool	&saved, FSSpec	*saveFSSpec)

fix passing correct name string to kodak DCCopyImageToFolder function
	bool TNewKodakCameraHandler::CopyImageToFolder(FSSpec	*theFSSpec, bool	overwriteExisting)

update warning text message
	OSErr myJumpToBackupAppWithFile(FSSpec	fileToOpen)		// 10-30-00
	OSErr myJumpToImageEditorWithFile(FSSpec	fileToOpen)


// 11/6/00 
fix miscellaneous chooser and package mode
	bool  TNamedStdPrintHandler::Print(CommandNumber itsCommandNumber)
	OSErr TPreviewImageWindow::PrintPackage(short item, Boolean	spool, Boolean preview, Boolean now)
		if in spool mode and package has chooser, just send to fg
		fix where mult-item package will prompt continue or not if chooser item in package
	GWorldPtr TTepsPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
		fix chooser and offscreen else break; avoids pixmap error

// 11/6/00
make sure not too many digits
should make sure each char is a digit!!!
	long ConvertCStrToLong ( CStr255_AC numberStr, short numOfDigits );
	bool IsCStrAllDigits ( CStr255_AC numberStr );
	long	getImageNumberFromFileName(CStr31_AC	fileName, short numOfDigits )
move toggle desktop printer after chooser print is done
	void TPreviewImageWindow::DoChooserPrint(Boolean doPreview, Boolean saveToFile, long printCommandNumber )
reset time after synchronizing, not before
only Synchronize4CameraHotFolderMode if hot foldermode and start sitting
	bool	TTeps2000Application::DoIdle(IdlePhase	thePhase)


// 11/5/00
// b17
prevent infinite loop if job filename is too long
	void TPrintView::SaveJobFile(TFile	*aFile, bool	now, short imageNumber, CStr255_AC	nameStr)
point to the correct daily images folder in internet mode
	void TTeps2000Application::FindImageAndEnterEmail()
put scripting to toggling desktop printer to a single function
	// must have toggle script, "toggleChooserScript", in scripts folder file


// 11/3/00
// b16

give preference for toggling chooser printer
	Boolean setMyChooserPrefToFactoryDefaults ( tChooserPrefPtr ptr )
	TChooserPreferences::~TChooserPreferences()
	void TChooserPreferences::ViewsEnable(bool enable)
	void TChooserPreferences::SetSettings(tChooserPrefPtr	chooserPref)
	bool TChooserPreferences::IsChanged()
void TFujiNC600PrinterCmdSet::CheckSenseKey ( unsigned char* senseDataPtr )



// 11/2/00
// b16
void TBackupWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
	add password protection to checkboxes
void TCameraHandler::Synchronize4CameraHotFolderMode()	// 11-02-00
	add synchronize for files with camera handler and hotfolder mode

bool	TTeps2000Application::DoIdle(IdlePhase	thePhase)
	call synchronize for files with camera handler and hotfolder mode
bool	TTeps2000Application::DoMenuCommand(CommandNumber	cmdNumber)
	call synchronize for files with camera handler and hotfolder mode

void TCameraStatusWindow::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)
	added case cSynchronize:
	

// 11/2/00
// b15
fix hot folder mode when input is camera fuji/event imaging
	bool TNewFujiCameraHandler::Check4NewFiles()
if fuji camera input and hot folder, do not send any camera command
	void TNewFujiCameraHandler::ExitToMain()

(what happens if fujids300 does exists - in hotfolder??? - may have problem on entry)

if fuji camera mode and school photography mode, then shows Photoshop PS2.0 as input type
	in main window title bar

void THideNameView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
void TPreviewImage::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
MENU 2008
MENU 2011	- remove from list
			- add separator
			- delete
			- separtor
			- "jump to image editor"

fix more adlib windows/views


// 11/2/00
// b15
bool TBackupWindow::GotoSelectFolderWindow(IDType	theType)
CStr31_AC getLocationIDString ( bool usePrefix ) - must have 4 digit
also changed resource to allow location id upto 9999

// 11/1/00
check for internet email images - check w/wo extension and "_" char is not needed
fix resources and picts
make sure that findEmail method creates folder same format as convert to internet file format
when converting to internet file mode, always overwrite existing file
Boolean setMyResizePrefToFactoryDefaults ( tResizePrefPtr ptr )
Boolean setMyPrintingPrefToFactoryDefaults ( tPrintingPrefPtr ptr )



// 10/30/00
added option to delete folder list to switch between main images folder and internet
upload folder
FolderListView.cp

added TEPS BACKUP APP FOLDER
UTeps2000Application.cp

added OSErr myJumpToBackupAppWithFile(FSSpec	fileToOpen)		// 10-30-00
myAppleEventUtils.c

changed 'view'-resource 1016

// 10/27/00

alert 1005

adlib windows
1247
1263
1248
1017
adlib views
1043

CMNU
5

bool setMyInputPrefToFactoryDefaults ( tInputPrefPtr ptr )
	promptForOrder				= false

just disable view instead of hiding it
	void TStartSittingPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 10/27/00
fix issues fuji nc600/660 printer - allow toggling between the two internal trays
	class TFujiNC600PrinterDevice :	public TScsiPrinterDevice,
		short					fCurrrentValidTray;	// 10/27/00
	TFujiNC600PrinterDevice::TFujiNC600PrinterDevice()
	OSErr TFujiNC600PrinterDevice::SetupModeSelectParameter ( short w, short h, short xOff, short yOff, short doPrintNow, short transferMode, short scanMode, unsigned char pageCode )
	short TFujiNC600PrinterDevice::CheckIfPrinterFreeAndReady ( void )
	short TFujiNC600PrinterDevice::CheckPrinterTrays ( void )

turn off extraneous messages
	void TFujiNC600PrinterCmdSet::CheckSenseKey ( unsigned char* senseDataPtr )

change the factory default preferences for fuji nc600/660 printer
	void doFujiNC600FactorySettings()

// 10/27/00
make all libs "import weak" when possible

fix rotation of node print/preview
	bool TNodeViewObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)


// 10-27-00
Add match orientation for Cropping ration for custom server copy
Add force orientation to landscape or portrait
Added Custom Folder name option
Added Save with original filename for internet upload

// 10-26-00
change StartSittingPrefs Factory defaults
ptr->AllinPrefs.createSubFolder				= false;		// 10-26-00

// 	10-25-00
file: myCreateNameUtils.c
CStr255_AC getUniqueNameFromExistingOld(FSSpecPtr	fileSpec)
	short		numberStartPos = FindPos("_", tmpStr);
	if (numberStartPos != 0 && tmpStr[numberStartPos+1] >= '0' && tmpStr[numberStartPos+1] <= '9')	// added 10-25-00
		tmpStr 	= tmpStr.Copy(1, numberStartPos-1);

created new function in StartSittingHandler.cp
IDType TCustomServerCopyHandler::GetBaseName()	// 10-25-00

added following field to StartSittingPrefs.cp
	ptr->AllinPrefs.baseName					= gEmptyString;	// added 10-25-00
	ptr->AllinPrefs.useCustomBaseName			= false;		// added 10-25-00
	ptr->AllinPrefs.useDate						= true;			// added 10-25-00
	ptr->AllinPrefs.useLocationID				= true;			// added 10-25-00


//	10-24-00
void TImageFileObject::SetEmails(CStr63_AC	emails[5])	// added 10-24-00

TPreviewImageWindow::~TPreviewImageWindow()
	if (getCurrentInputHandler()->IsStartSitting() && fLastEmail != gEmptyString)
		getCurrentInputHandler()->SaveMarkedToInternetUploadFolder();	// 10-24-00

added void TPreviewImageWindow::EnterEmailForMarked()	// 10-24-00

void TPreviewImageWindow::DoSetupMenus()
	Enable(cEnterEmailForMarked, getCurrentInputHandler()->IsStartSitting() &&
								 getCurrentInputHandler()->GetNumberOfMarkedImages() > 0);
void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)
		case cEnterEmailForMarked:		// 10-24-00
			EnterEmailForMarked();
			break;

added 
void TTEPSFileHandler::SetEmailForMarked(CStr63_AC	email[5])	// 10-24-00
void TTEPSFileHandler::SaveMarkedToInternetUploadFolder()	// 10-24-00

// 10/25/00
// changes from 10/16/00 was added from other project on 10/25/00
// changes from 10/19/00 was added from other project on 10/25/00

// 10/19/00
try to fix upload lockup issues especially after right after making connection
	OSErr tryToUploadLoop ( ImageUploader *imageUploader, char *completeFileName )
dont show empty folder warning esp when uploading multiple folders
	OSErr TInternetUploadFolderList::UploadFilesInFolder(FSSpec	theFSSpec, bool move)
		doShowEmptyFolderWarning

// 10-16-00 from Edwin
fix print queue issues
	void TPrintQueueWindow::StopQueue()
		add to end of function gProgressIndicator->Stop();    // added 10-16-00

// 10/16/00
fix internet issues
	Boolean setMyInternetUploadPrefToFactoryDefaults ( tInternetUploadPrefsPtr ptr )
		set factory default location id = 0;
		ptr->location					= "0";	// 10/16/00	change to 0	"1";	// "00001";	6/26/00
		ptr->locationNumber				= 0;	// 10/16/00	change to 0	1;	// 7/5/00
	warn user to set prefs if location ID is 0;

change view id#1060
min and initial crop value = 10 hsiz and vsiz
min and initial location id = 0

moved function
	from PreviewImageWindow.cp
	to EnterEmailWindow.cp
		IDType	EnterEmailAddress(GWorldPtr	anOffscreen);	// moved here 10/16/00

Added ALRT #1048 for invalid internet location ID


// 10/25/00
allow printing school packages with the enter key when in preview mode
	void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)
remove F12 which starts new student - cmd-1 does that already
	void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)
try to make view automatically beep after pressing enter or return key
(does not work)
	class TSchoolPhotographyView : public TView
	void TSchoolPhotographyView::DoKeyEvent(TToolboxEvent* event)
try to make view automatically beep after pressing enter or return key
(annoying - need to put in two spots
	bool getPackageQuantity()
	bool editPackageQuantity()

// 10/24/00
search for extensions and chars from end of string
	CStr255_AC getUniqueNameFromExisting(FSSpecPtr	fileSpec)
	short FindPosInReverse(const CStr255_AC& pattern, CStr255_AC& source)
change default button response when set as default for shift/zoom setting for special one-up
	void TOneUpPreviewImage::SetSettingsAsDefault()
create function clear out the order
(may need to prompt for confirmation before continuing)
	void TSchoolPhotographyView::ClearOrder(void)
added static text fields in school mode
	adlib #1242
	void TSchoolPhotographyView::Setup()
maximum number of packages for student is 9
(really want to be 12 or 15)
(need to define a new a new constant kAbsMaxStudentOrderPkg	15
	kMaxStudentOrderPkg = 9


// 10/24/00

for the first time, make default search 'noty'
	void TThumbnailToolsView::JumpToImage()	//10-10-00

in school photomode - allow entry of student name with . in it, eg: "dolman jr., edwin"
search for '.' from end of string
	CStr255_AC getUniqueNameFromExisting(FSSpecPtr	fileSpec)
	short FindPosInReverse(const CStr255_AC& pattern, CStr255_AC& source);

added pict 150 and 151 for zoom in and out buttons picts
modify default for alert 1018
	void TOneUpPreviewImage::SetSettingsAsDefault()

allow 9 packages in school view
	match up adlib windows #1245 and 1242 to be same
	enable buttons in #1245 and 1242
	kMaxStudentOrderPkg	9

// 10/23/00
change ready for next student text to ready...
	#define		kReadyForNextStudentString	"Ready"	//10/23/00 "Ready For Next Student"


//10-23-00
???
allow chooser printer to selected as item in package
	void TPackageEditWindow::AddItemToPackage()
preference to issue cPrintOne or cPrint chooser when in package
	typedef struct tChooserPreferences
		bool		showPrintJobDialog4Packages;		// 10/23/00
	TChooserPreferences::~TChooserPreferences()
	void TChooserPreferences::SetSettings(tChooserPrefPtr	chooserPref)
	bool TChooserPreferences::IsChanged()
allow more than 307 images to thumbnail list or view
	void TN_UPThumbNailView::ScrollTo(IDType	theType, bool OptionKeyDown)
	void TN_UPThumbNailView::CreateThumbNailViews(short	begin, short end, bool show)
remember crop aspect ratio values
remember crop aspect search type
	#define		kFindPrefs					5037	// 10-23-00
	TPreviewImage::TPreviewImage()
	void TTeps1000Preferences::ReadPrefs()
	void TTeps1000Preferences::WritePrefs() const
	Boolean setMyFindPrefToFactoryDefaults ( tFindPtr ptr )	// 10-23-00
	Boolean setMyFindPrefToFactoryDefaults ( tFindPtr ptr )	// 10-23-00

// 10/23/00
setup correct factory default values for upd50 printer
	void doSonyD50FactorySettings()


// 10/20/00
release v0.0b8
release v0.0b7
release v0.0b6
fix problem when acquiring preview with sdk1.6.1
	static char *ImageProcessCallbackNoPreview(DCImageIOStruct ImageIO);
	GWorldPtr TNewKodakCameraHandler::GetImage()
fix double-clicking problem in thumbnail
	void TThumbNailView::DoMouseUp(CViewPoint& theMouse,  TToolboxEvent*	event, CPoint_AC hysteresis)

adlib
view 1401, 1042


// 10/9/00
release v0.0b5

//10-10-00
file: NamedStdPrintHandler.cp
bool  TNamedStdPrintHandler::Print(CommandNumber itsCommandNumber)
	added getCurrentInputHandler()->SavePrintedFiles();
	will save printed files and unmark printed images

file: NamedStdPrintHandler.cp + NamedStdPrintHandler.h
bool  	PrintOne(GWorldPtr		anOffScreen);	// 10-10-00 changed from void to bool
	return TStdPrintHandler::Print(cPrint);	// changed 10-10-00

file: N_UPThumbNailView.cp
added void TN_UPThumbNailView::JumpTo(long ImageNum)	//10-10-00

file: PreviewImageWindow.cp
void TPreviewImageWindow::DoChooserPrint(Boolean doPreview, Boolean saveToFile, long printCommandNumber )
	added passing second parameter to GetPrintOffscreen
		// 10-10-00
		aTepsPrintHandler->PrintToFile(GetPrintOffscreen(true, false), fileSpec);	// 7/5/00 pass parameter to GetPrintOffscreen()
	and
		DoPrintPreview(GetPrintOffscreen(false, true), true);// 10-10-00

short DoPrintPreview ( GWorldPtr outputOffScreen, Boolean doUseTExternalVideoWindowServer, CStr255_AC	fileName)//10-4-00
	changed cPrintPreviewWindow1 to cPrintPreviewWindow2
	
GWorldPtr TPreviewImageWindow::GetPrintOffscreen( bool doSaveToFile , bool	doPreview)	// 10-10-00
	added 2nd argument - bool doPreview
	
file: TepsPrintHandler.cp
GWorldPtr TTepsPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
	added breaking out on cancel

file: ThumbnailToolsView.cp
void TThumbnailToolsView::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
	added JumpTo imagenumber

// 10-5-00
added hotfolder mode for camera
void TCameraPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)
{
		case cFileAddedToList:
				// 10-5-00
				if (getCurrentCameraHandler()) getCurrentCameraHandler()->SaveCopyInSittingFolder((TImageFileObject*)changeData);
AND
void TCameraHandler::SaveCopyInSittingFolder(TImageFileObject	*anObject)	// 10-5-00
	
// 10-4-00
GWorldPtr TTepsPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
	GetIndString(tmpStr, kPrinterResID, getMyPrinterType());	// 10-4-00

PrintForDemo in Slideshow Window

short DoPrintPreview ( GWorldPtr outputOffScreen, Boolean doUseTExternalVideoWindowServer, CStr255_AC	fileName)//10-4-00
	added fileName Argument
short DoPrintPreviewNew ( GWorldPtr anOffscreen, short resID, bool one2One, CStr255_AC	fileName)
{
	TWindow	*aWindow = TViewServer::fgViewServer->NewTemplateWindow(resID, NULL);
	if (fileName != gEmptyString)
		aWindow->SetTitle("Preview of "+fileName);

created View resource 1019 - Create folder in Master Server Dialog

bool TSaveToServerCommand::ShowDestinationDialog(FSSpec	*tmpFSSpec)
	close window if Cancel Master Server Copy
	change in resID (1019) + Master Server Name passed

CStr255_AC getUniqueNameFromExisting(FSSpecPtr	fileSpec)
	if not found _ start from beginning

void TTeps2000Application::FindImageAndEnterEmail()
		added getCurrentInputHandler()->ClearFileList();

// 10-3-00
void TOverlayWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
		>= instead of >	

// 9-27-00
fixed a bug that caused the lineseperator to show up as text in Print toolbar window
	void TOldLayoutView::SetupCanvasMenu(short	item)
fixed a bug that caused an error message to appear when opening a package (from a newly created
packagefile
	void TPackageEditWindow::ReadPackage()

// 9-18-00
for custom server copy, add prefs to backup images to sub folder within master folder
	bool TSaveToServerCommand::ShowDestinationDialog(FSSpec	*tmpFSSpec)
	short TSaveToServerCommand::PromptForNewFolderName(FSSpec	*newFSSpec)	// added 9-18-00
	void TStartSittingPrefs::GotoAllinPrefsWindow(tAllinStruct	*ptr)

add more windows for internet find file mode
	prompt for folder id
	prompt for image id
	prompt to verify image
	prompt to enter email
	void TTeps2000Application::FindImageAndEnterEmail()
	const ResNumber 	cEnterFileIDWindow			= 1257;	// 9-18-00
	const ResNumber 	cEnterFolderIDWindow		= 1258;	// 9-18-00
	const ResNumber 	cIsThisYourPictureWindow	= 1259;	// 9-18-00




what was changed in DropView.cp??????
need to add overlay view for DragAndDrop View

// 9/16/00
// added 9/16/00 - should be moved to file of its own
#include "TBaseWindow.h"	// 9/16/00
	MA_REGISTER_CLASS(TBaseWindow);				// 9/16/00
	#include "EmailStartupWindow.h"
	void TBaseWindow::DoEvent ( EventNumber eventNumber,TEventHandler *source,TEvent *event)


// 9/15/00
allow basename be to nil
of basename is nil, do not add '_' to name;
need to change edit text type to TEditText in adlib window cSpecialAllinCopyWindow = 1075
CStr255_AC	createName(CStr255_AC	baseName, short	aValue, CStr255_AC	ext, bool leadZeros)


// 9/15/00	document 9-15-00 where applicable
create new class TEmailStartupWindow
	void RegisterMacAppClasses()
	EmailStartupWindow.c
	EmailStartupWindow.h
const ResNumber 	cFindFileWindow				= 1255;	// 9-15-00
const ResNumber 	cEmailStartupWindow			= 1256;	// 9-15-00
const ResNumber 	cEnterEMailWindow			= 1232;	// 9-15-00

PreviewImageWindow.cp
PreviewImageWindow.h

created file "myFolderUtils.c"




// 9/14/00
added pict 419 for "compile school log file"

// 9/13/00
need to add pictrography 3500 - need to test with real paper
	short TFujiScsiPrinterCmdSet::matchPrinterDevice ( myScsiDevicePtr myDevicePtr )


//9/12/00
got new 8.0.13 from edwin
fix possible inadvertant test message from IsExistingDirectory2() - oh maybe in 7.4.823 version

added these fixes from steve's earlier 8.0.12 version
// 9/12/00
Fix problem with the overlay not being updated when in the
design window and double-click on the overlay
	GWorldPtr	TOverlayObject::GetOverlayOffscreenFromRecordNumber(short	recNum)
// 9/12/00
make sure edwin turns back on PrintThisImage() in the spooler and in fg
fix spooler project just like steve's earlier version
	fix problem with sony upd7-a printer locking up in spooler
	short TPrintView::DoSonyPrintNew ( GWorldPtr	outputOffscreen )



// 9/12/00
release as 8.0.12 from steve's earlier version


// 9/7/00
release as v8.0.11

#define	kUseTeps8Keys	true


condense width and height text
	void TPreviewImage::SetFileSpecs()

always move to folder movable - maybe not
	OSErr TInternetUploadFolderList::UploadFilesInFolder(FSSpec	theFSSpec, bool move)

// main menu shows version number to distinguish new version

Boolean TChooserTools::FindPrintRecordInResource ( void )
bool IsVolumeLocked ( short vRefNum );
OSErr IsDirectoryWriteProtected ( FSSpec *dirFSSpec, bool &state );

added all changes for up-d70a printer problems
	short TTepsPrintHandler::DoPrint(GWorldPtr	anOffscreen, Boolean	doPreview)
	OSErr TAPrinterDevice::PrintThisImage ( GWorldPtr imageGWorldPtr )



// 9/5/00
resolve write-protected directory
do not use FSMakeFSSpec to determine if a folder or file exists
myDirectoryUtils.c
need to change more spots in future
created these two functions:
	bool IsExistingDirectoryLow(short vRefNum, long dirID);
	bool IsExistingFSSpecLow ( FSSpec *fileFSSpec );
above two functions called in the following:
	bool IsExistingDirectory(FSSpec	*dirFSSpec)
	bool IsExistingDirectory(short	vRefNum, long dirID)
	bool IsExistingFile(FSSpec	*dirFSSpec)
	bool IsExistingTemplateFile(FSSpec	*dirFSSpec)
	bool IsExistingNodeFile(FSSpec	*dirFSSpec)


// 8/29/00
version 7.4.821
need to try to resolve problem with OS8 and start sitting crap
	void TTEPSFileHandler::GetStartSittingFolderInfo(CStr255_AC	&folderName,CStr63_AC	&volumeName)
	void TTEPSFileHandler::GetFolderInfo(CStr255_AC	&folderName,CStr63_AC	&volumeName)

fix annoying message with daniel
	void getFolderName(short	aVRefNum,long	aDirID,CStr255_AC	&folderName,CStr63_AC	&volumeName)

Boolean TChooserTools::FindPrintRecordInResource ( void )






// 9-4-00
added file info window

// 9-1-00
added rows and columns for slide show view

// 8-28-00
small/medium/large thumbnails
one 2 one option for slide show
use better resize for thumbnails, significantly increases quality for bigger thumbnails
got rid of fOriginalImage offscreen duplicate of fOffscreen, no clue why I created a duplicate

// 8-25-00
packages with print to file
filename stamp without extension
save template before modifying node?


// 8-24-00 to do list
change overlay on the fly in drag&drop mode
save composition to file after printing (see print 2 file options)
reverse order for object list in layout view
get page for printing (go to page x)
save last overlay to file and read it back
validation of prefs

// 8/22/00
// 8/23/00
expert mode for slide show
getting unique name for image before saving + prefs to fill in gaps (numbers)


// 8/21/00
created separate dialog for delete current / marked / unmarked
created slide show control window to stop slide show and to set delay between slides
created slide show prefs

// 8/18/00
fixed drop preview image target problems
clear this image / clear this template
fixed save composition as, saves with the right filetype now
getUniqueName with new pattern BASENAME_001.EXT have to test with camera
Show One 2 One

// 8/17/00
make slide show control window and preference for delay
fix delete to have separate dialogs for marked/unmarked/current


// 8/15/00
// 8/16/00
fixed print to file quantity in spooler
delete button added delete all
fixed bug to decrease the size of the thumbnail view when removing or deleting images
slide show option in images menu
go to beginning / go to end pref for operationswindow
created preference for Fuji NC 600 printer
fixed problems that occured with adding files through thumbnail window
fixed target problem when switching from drag & drop to 1-up mode
fixed bug that caused error message to come up after cancelling preview in drag & drop mode
do you want to cancel will say now printing/previewing/saving file
fix for printing multiple pages on chooser

// 8/14/00
Shoot into selected droppreview image in drag and drop view
Set kodak tif settings as default


// 8/9/00
added feature to preview images in folder + all subfolders
compile logfile for schoolphotography travels through all sub folders now

// 8/8/00
option double clicking on a nodeview object in a template window will open the associated node

// 8/7/00
Save As with crop and resize window
Print Order from package order window
Backspace to delete image offscreen in drag and drop view
Three digits visible for thumbnail

marking tagged images - when?
drag&drop view - shoot new image into boxes

Spooler - select and delete a single job

// 8/4/00
use Thumbnail for drag & drop if in UImageObject
Change TDropPreviewImage so that double clicking will show preview instead of thumbnail image
Custom rotation, marked or all (90 CW 180 90 CCW reset)

// to do list

Prices of Packages
location 255 is garbage location

// 8/2/00
added crop-feature for uploading file to internet + support for PICT TIFF and KODAK TIF files
school photography changed name to start with student_001.TIF
Added clear button on Student Barcode window
Prompt for Order instead of Mutiple Poses
create log file for e-mail addresses that were entered (date, filename, email address) + added extract e-mail button
	on UploadFolderListView
enabled print to file printer and pref
fixed bug that did not apply Kodak Color Settings to all images if images were in different directories
add .TIF to kodak image files if extension is missing on rename

// 8/3/00
try to fix internet issues
change resource to reflect movable window in progress of internet upload


// 8/2/00
version 7/4/815
try to stop the lockup issue with the upd70 printer
try to release printer before sending the print command
	OSErr TSonyScsiPrinterDevice::FreeThisPrinter ( void )
	OSErr TSonyScsiPrinterDevice::SendThePrintCommand ( void )

remove print to file prefs option from spooler
	STR#1008 4000
added option for printing with firewire-to-scsi adapter
	OSErr TSonyScsiPrinterDevice::TransferOnePlaneOfData ( onePlaneInfoPtr dataInfoPtr )
	typedef struct tPrintServerPrefs
		bool		useScsiAdapter;				// 8/2/00
		short		useScsiAdapterBlockSize;	// 8/2/00
	Boolean setMyPrintingPrefToFactoryDefaults ( tPrintingPrefPtr ptr )
	TPrintingPrefs::~TPrintingPrefs()
	void TPrintingPrefs::ViewsEnable(bool enable)
	void TPrintingPrefs::SetSettings(tPrintingPrefPtr ptr)
	bool TPrintingPrefs::IsChanged()

for spooler - but shared with FG too
added option for printing with firewire-to-scsi adapter
	Boolean setMyPrintServerPrefToFactoryDefaults ( tPrintServerPrefPtr ptr )
	TPrintServerPrefs::~TPrintServerPrefs()
	void TPrintServerPrefs::ViewsEnable(bool enable)
	void TPrintServerPrefs::SetSettings(tPrintServerPrefPtr	ptr)
	typedef struct tPrintServerPrefs
		bool		useScsiAdapter;				// 8/2/00
		short		useScsiAdapterBlockSize;	// 8/2/00


// 8/1/00
release as v7.4.813 for the ppa show
when spooling to sony upd's, send in blocks of 40 instead of 5
remove NC-600 series printer from list


// 7/31/00
// 8/1/00
added a pref to set a colorsync profile for each separate printer 
changed void TOldLayoutView::SetupCanvasMenu(short	item) to conform to change in PreferencesWindow.cp
added output file pref to convert filetype and crop on saving
changed read and load prefs to use the standard Teps2000Preferences class
fix for error that loaded the template twice when entering preview image window in drag and drop mode


// 7/28/00
v7.4.81
for school version
enable #define 	kSchoolPhotography 			4	// 4th item in input; comment this out to compile without school stuff

save acct number to student log file


// 7/28/00
release as v7.4.812

disable // #define 	kSchoolPhotography 			4	// 4th item in input; comment this out to compile without school stuff

remove from utils resource, button to compile the log file

added pref for low res image object for printing proofsheet quality images


// 7/27/00

// 7-27-00
add multi-poses to school photography mode
	typedef struct tInputPrefs
	bool setMyInputPrefToFactoryDefaults ( tInputPrefPtr ptr )
	TInputPreferences::~TInputPreferences()
	void TInputPreferences::SetSettings(tInputPrefPtr	ptr)

custom server copy now can save to jpeg and standard tiffs and picts
	MA_REGISTER_CLASS(TCustomCopyPrefWindow);	// added 7-27-00
	void TSaveToServerCommand::DoIt()
	bool TSaveToServerCommand::SaveAsCustomType(FSSpec	copyFSSpec, short	fileType) // changed 7-27-00

added to allin to allow resizing when copying files
	ptr->AllinPrefs.doCropImage					= true;		// added 7-27-00
	zero out default structure first
	Boolean setMyStartSittingPrefToFactoryDefaults ( tStartSittingPrefPtr ptr )

if source folder is root and mode is special server copy point to correct source folder to poll from
	void TTeps2000Application::NewPCCardSitting(short	theChoice)



// 7/26/00
allow teps to print to sony printer via firewire-to-scsi adapter
	short TSonyScsiPrinterDevice::CheckIfPrinterFreeAndReady ( void )
	OSErr TSonyScsiPrinterDevice::ProcessImageBeforePrinting ( GWorldPtr imageGWorldPtr )

added prefs to send image in chunks in foreground printing
	added alwaysTransferInChunks to struct tPrintingPrefs
	Boolean setMyPrintingPrefToFactoryDefaults ( tPrintingPrefPtr ptr )
	TPrintingPrefs::~TPrintingPrefs()
	void TPrintingPrefs::ViewsEnable(bool enable)
	void TPrintingPrefs::SetSettings(tPrintingPrefPtr ptr)
	bool TPrintingPrefs::IsChanged()

check all the views updated via adlib
align printer prefs view for fuji
	void TFujiPrinterPrefs::DoPostCreate(TDocument	*aDocument)
	void TFujiPrinterPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)




// 7/25/00
check for all upper case of ".tif" for kodak images when duplicating files
	OSErr	myGetUniqueFSSpec ( FSSpecPtr myDestinFSSpecPtr, CStr255_AC theSeparator )

try to make spooler work with firewire-to-scsi adapter
	change a lot of sony printer commands to non extended versions
	reduce the size of block transfer

update adlib view #1042 and 1082

// 7/25/00
release as 7.4.89

// 7/24/00

FSpMoveRename only works with server volume, but not on my hard drive
// 7/24/00 edwin - what is this for????

updated adlib resources

start using tNewCanvasSizes	*getThePrinterCanvas ( short printerType )
	created tNewCanvasSizes	*getThePrinterCanvas ( short printerType )
	modified void TCanvasPrefs::SetupCanvasMenu(short	item)

check to make sure MRJ is installed so wont crash internet upload util
	bool CheckGestaltFindFolder ( void )
	bool CheckGestaltMRJInstalled ( void );
	void TInternetUploadWindow::UpdateButtonViews(void)
	short TInternetUploadFolderList::InitializeStuffForJava(void)
when linking new template, update popup immediately
	void TCanvasPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)


// 7/24/00	
	added Select Package Window
	added School Photography Mode (input)
	Added Delete Folder If Empty pref in Start Sitting Pref
	

// 7/21/00
v7.4.87
v7.4.86
fix spooler to show all jobs correctly for the first time
	OSErr GetAllFilesInDirectory(short vRefNum, long dirID, short &filesInDir, TSortedFileList	*aList)
fix problem when duplicating kodak tiff files to spooler
	OSErr	myGetUniqueFSSpec ( FSSpecPtr myDestinFSSpecPtr, CStr255_AC theSeparator )
fix problem when printing to multiple kodak printers
	added member fDoIncrementIDFirst to class TBaseScsiCmdSet
	TBaseScsiCmdSet::TBaseScsiCmdSet()
	void TBaseScsiCmdSet::SaveToGlobal ( void )
	void TBaseScsiCmdSet::GetFromGlobal ( void )
	TKodakScsiPrinterCmdSet::TKodakScsiPrinterCmdSet () :
	short TBaseScsiCmdSet::SetPrevTargetId ( short value )
	short TBaseScsiCmdSet::GetNextPrevTargetID ( void )
	short TBaseScsiCmdSet::find_NextDesiredDeviceUnit ( short desiredDeviceType )
	short TSonyScsiPrinterDevice::CheckIfPrinterFreeAndReady ( void )
	short TKodakScsiPrinterDevice::CheckIfPrinterFreeAndReady ( void )
change alot in basic scsi command protocols esp when scsi command is an input command
	OSErr TBaseScsiCmdSet::BasicSetupCommand ( void )
	OSErr TBaseScsiCmdSet::BasicSetupCommand2 ( void )
	OSErr TBaseScsiCmdSet::BasicSetupCommand3 ( void )



// 7/20/00
v7.4.85
fix problem with loading preferences in Spooler and Teps2000
added ALRT #1025 to spooler resource - so when app cannot load prefs, alert will show


// 7/19/00
v 7.4.84

in case aPtr->GetThumbNailImage() returns nil since thumbnail has NOT been loaded
it will return nil
	void TDragAndDropToolWindow::UpdateInfo() - shows the problem
		((TOffscreenPicture*)FindSubView('ofsc'))->SetOffscreen(myDuplicateGWorld(aPtr->GetThumbNailImage()));
	GWorldPtr myDuplicateGWorld ( GWorldPtr gworldPtr )


// 7/18/00
v 7.4.84
- fix internet when entering email address - check for more errors
	after getting email from fotolinks
	bool IsValidEmailAddress(CStr255_AC theString)

- fix internet upload to show correct number of files remaining again
	fix from 7/13/00 was NOT good
	void TInternetUploadFolderList::UploadFilesInFolder(FSSpec	theFSSpec, bool move)

WHAT is the DIFFERENCE between FindPos and FindPosition?????
and why 2 similar def of FindPos and why static??????


// 7/18/00
v7.4.83
sent out spooler version to dimage@bellsouth.net
masked out Fuji NC-600 series printers

- started to add stuff for Fuji NC-600 series printers

- fix printing to multi kodak printers
	typedef struct myHostDeviceInfo
	myHostDeviceInfo gScsiHostDeviceInfo	= { 1, -1 };
	void TBaseScsiCmdSet::SaveToGlobal ( void )
	void TBaseScsiCmdSet::GetFromGlobal ( void )
	TKodakScsiPrinterCmdSet::TKodakScsiPrinterCmdSet ()
	TKodakScsiPrinterCmdSet::~TKodakScsiPrinterCmdSet ()

// 7/13/00
- fix internet upload to show correct number of files remaining
	void TInternetUploadFolderList::UploadFilesInFolder(FSSpec	theFSSpec, bool move)

- fix crashing when pressing non F-Keys in school photography mode
	void TPrintToolbarSchoolWindow::DoFKeyEvent(short item)

- remove radio buttons from view for operations preferences
	adlib view #1042

// 7/12/00
hi edwin -

great job!!!
esp for NOT having a camera there;

i will need to release this school version some time next week;
hopefully we can live with what we have;

guess you can do a search for 7/12/00 for all changes
including my other ones NOT related to school photography

 though - some issues with school photography mode:

 which is easier - ithink we need both views either in separate windows
	or in a combined view - WHAT DO YOU THINK???

 if you undef kSchoolPhotographySitting, then school version is masked out
	
- dont really want to have kSchoolPhotographyMode and kSchoolPhotographySitting
	just kSchoolPhotographySitting from sitting pref is enuf
- think we need to have both the printToolBar Window and StudentOrderToolBar
	how can i print a proofsheet to chooser and take order at the same time?
	still want the printToolBar view to be together with the studentOrderView
	but in one float window or two?

- if hit any key in operation window other than the FKeys - say the letter 't' -
	then crash with input file kodak tiff and school mode

- student info file okay for us internally, how are others going to parse it
	via database app - need to convert to ascii file and tab/comma delimited fields?

- FIXED cmd-1 does not get rid of thumbnail if resume sitting
	or even new sitting with camera
	never seems to clear the thumbnail view 100%
	sometimes 1 image is left over usually that last one taken
	void TPreviewImageWindow::DoMenuCommand(CommandNumber	aCmdNumber)

- FIXED the student info file - it has uninitialized garbage for unused packages if
	i dont have the kMaxStudentOrderPkg packages setup up
	StudentOrderFile.c
	StudentOrderFile.h
		void writeStudentOrderFile(FSSpec	tmpFSSpec, char *bufferPtr )
		void readStudentOrderFile(FSSpec	tmpFSSpec, char *bufferPtr)

- added stuff from edwin



// 7/12/00
- set correct factory default for internet upload
	Boolean setMyInternetUploadPrefToFactoryDefaults ( tInternetUploadPrefsPtr ptr )
	void TInternetUploadPrefs::SetFactorySettings()

- unify creation of unique file name
	short doCopyTheFileWithHeader ( FSSpecPtr mySourceFSSpecPtr, FSSpecPtr myDestinFSSpecPtr, bool overwriteExisting)


// 7/11/00
// 7/10/00	
v7.4.712
try new jar that closes file before returning
see if helps with uploading

- update QT utils to have call back too
	bool IsQuickTimeAvail ( long &qtVersion )

- in SPOOLER - if QT avail, then open file via QT unless kodak TIF
	ReadFileUitils.c
		GWorldPtr	ReadFile(TFile	*aFile)


- create call back routine when applying colorsync in the background mode
	CMError myCWMatchPixMap ( CMWorldRef cw, PixMap *thePixMapPtr )
	CMError MyMatchBitmap(PixMapHandle	thePixMap, FSSpec	profA, FSSpec	profB)
	CMError MyProofBitmap(PixMapHandle	thePixMap, FSSpec	profA, FSSpec	profB, FSSpec	profC)
	typedef struct myCMCallBackInfoStruct
	pascal bool myCMCallBackProc ( long progress, void *refCon );

- bool ApplyColorSettingsToOffscreen(GWorldPtr	srcOffscreen, myImageColorAdjustInfo	settings, GWorldPtr	dstOffscreen)
	myPollEvent();	// 7/11/00

- try to disable ALL idle function when getting email address from Hot Folder Mode
	void TPreviewImageWindow::GotoEnterEmailWindow()
		// added 7/11/00
		// make sure that gApplication->Idle does NOT idle!!!
		// how to turn off all the other ones??????

- lock internet prefs view if needed
	// 7/11/00 ?? why is this necessary
	// all these are inside 'dtel' view?????
	// how about 'box1' and 'box2' view?????
	void TInternetUploadPrefs::ViewsEnable(bool enable)

- auto load preview if in hot folder mode and mode enabled
	void TCameraPreviewImage::DoUpdate(ChangeID_AC theChange, MDependable_AC* changedObject,
						  void* changeData, CDependencySpace_AC* dependencySpace)
	adjust settings - added doAutoPreviewInHotFolder
		typedef struct tStartSittingPrefStruct
		Boolean setMyStartSittingPrefToFactoryDefaults ( tStartSittingPrefPtr ptr )
		TStartSittingPrefs::~TStartSittingPrefs()
		void TStartSittingPrefs::Check4EnableButtons()


- change adlib window resource #1117

- capture date string as mm/dd/yyyy for internet files
	void EmailStructureFillInDate ( char *header )
	CStr255_AC	getCurrentDateString( short dateFormat )

- change internet header version to kInternetHeaderVers3
	#define		kInternetHeaderVers3	"TPIFv1.0.2"

// 7/10/00
- reflect the correct number of images left to upload in upload progress window
	void TInternetUploadFolderList::UploadFilesInFolder(FSSpec	theFSSpec, bool move)

// 7/10/00
- myCopyFileUtils.c
	OSErr	myGetUniqueFSSpec ( FSSpecPtr myDestinFSSpecPtr, CStr255_AC theSeparator )
	OSErr CreateUniqueFSSpec ( FSSpecPtr myDestinFSSpecPtr, OSType creator, OSType fileType, ScriptCode scriptTag, bool overwriteExisting )
	short copyTheFile ( FSSpecPtr mySourceFSSpecPtr, FSSpecPtr myDestinFSSpecPtr, bool overwriteExisting)
	short doCopyTheFileInChunks ( FSSpecPtr mySourceFSSpecPtr, FSSpecPtr myDestinFSSpecPtr, bool overwriteExisting)


// hi edwin
// this is a list for the both of us
// whatever is easy and withOUT major consequences,
// let's do

- something weird about locking/unlocking preferences??
	it doesnt seem to remember it esp for last two

- only save file with .TIF extension is file is kodak TIF

- test more with uploading larger images and larger quantities of images

- convert to MacApp14
	hopefully closer to carbon version

- look into FileMakerPro or 4D as database solution

- do school photography mode

- spooler never reflects the correct jobs in queue all the time
	at startup, always seem to be short of the first one
	and then after in the middle of processing the first one,
	then the correct number of jobs shows up in list

- allow spooler to delete a single line item job

- when ReadImage() for kodak -
	is there a way to use the progressCallBack function?
	we need to call "myPollEvent" during call back
	this will help ease the slowness in acquiring images from
	the spooler in the bg mode - esp with 560 and 660 images
	which are getting quite large and slow to acquire

- need pref for "return to main"
	- warn before deleting images (default=true)
	this will affect our current preference version??

- eventually we will need more canvases per printer
	this will affect our current preference version??

- eventually colorsync profile for each output device
	this will affect our current preference version??
	and still not sure where to display this option

- in some places, numbers do NOT increment beyond 99
	changed in myGetUniqueFSSpec which goes up to 999
	but who needs to call it?

- can we try to use the same function to get a unique filename????
	OSErr	myGetUniqueFSSpec ( FSSpecPtr myDestinFSSpecPtr, CStr255_AC theSeparator )
	esp if input is kodaktiff and overwriteexisting is off, then always overwrites file
	when jumping to photoshop
		ConvertFile needs to check overwrite flag?

- do NOT poll hot folder when user is entering internet email address
	need to turn off gApplication->Idle() loop when email dialog box is in front;

- whenever we cancel print preview - it keeps showing messages that
	"are u sure you want to cancel printing"
	can we determine the message to be "are you sure you want to cancel"
	and then adjust the next message, "an error occurred while printing"

- need a gestalt to determine if MRJ is installed or not?

- on the internet computer, after 40images and in hot folder mode, very slow again?
	on other systems, slow after 100 images
	do we do pollEvent while polling for hot folder??
	may need to break up in task format

- when spooling a job - which comes first?
	a- writing the job file and then copying associated image files?
	b- writing associated image files and then writing the job file?
	c- writing the 'temp' job file - then copy images - then rename 'temp' to realJobFileName?


// 7/10/00	
try new jar that closes file before returning
see if helps with uploading


//7/8/00
kDebuggingModeOn = true
 put messages that colorsync is being applied FG and BG


// 7/7/00
v7.4.79
v7.4.78
 put back the stuff that checks for new images in the idle loop
	hotfolder stuff or camera must check for new images
	bool	TTeps2000Application::DoIdle(IdlePhase	thePhase)


// 7/6/00
v 7.4.77
fix problem with uploading to internet
removed comment to instantiate new imageUploader object

 SPOOLER
 register TAboutBox class
	void InitMacAppClasses()

	upd50 mods (check for all files from 7/4/00 )
	upd2600 mods ( check for all stuff from 5/1/00 )
	STR#4002	= lists all the possible printer types available (edwins constants)
	STR#4006	= shows of printer type from old teps ( old constants )
	MENU#1003 all the printers that the application can support
	MENU#1008 all the printers that user can select from
	MENU#1006 all the sony printers supported (order does not matter)

// 7/5/00
v7.4.76
who job is it to clean stuff responseLine

 FG
 for internet prefs - create locationNumber
 - this restricts users from typing incorrect string

 change access path so that no path is ":::"	// this makes searches VERY LONG

 new header for internet files
 comma and semicolon and colon are not allowed as part of email address
	- actually cannot be a filename for the pc
 for internet prefs - create locationNumber
	- this restricts users from typing incorrect string for location
	- fotolinks wants to guarantee 5 digit and all numbers only; NO Letters for now
	EnterEmailWindow.cp
		bool IsValidEmailAddress(CStr255_AC theString)
	InternetUploadUtils.cp
		void TInternetUploadFolderList::FormUploadLocationString(void)
		void writeHeader(char *header)
	InternetUploadPrefs.cp
		Boolean setMyInternetUploadPrefToFactoryDefaults ( tInternetUploadPrefsPtr ptr )
		TInternetUploadPrefs::~TInternetUploadPrefs()
		void TInternetUploadPrefs::SetSettings(tInternetUploadPrefsPtr	ptr)
	InternetUploadPrefs.h
		#define		kInternetHeaderVers2	"TPIFv1.0.1"	// 7/5/00
		typedef struct tInternetUploadPrefsOld
		typedef struct tInternetUploadPrefs


 when "Save Composition As", dialog box says "Preparing For File Output"
	// ?? wow - so many changes just for this option 
	GWorldPtr TDropView::Draw4Printing(bool preview, bool saveToFile)
	void TPreviewImageWindow::DoChooserPrint(Boolean doPreview, Boolean saveToFile, long printCommandNumber )
	GWorldPtr TPreviewImageWindow::GetPrintOffscreen( bool doSaveToFile )
	GWorldPtr TTepsPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)

 added chooser pref to turn usePrintOneOptionAsDefault on/off
	typedef struct tChooserPreferences
	class TChooserPreferences : public TPreferencesView
	Boolean setMyChooserPrefToFactoryDefaults ( tChooserPrefPtr ptr )
	TChooserPreferences::~TChooserPreferences()
	void TChooserPreferences::ViewsEnable(bool enable)
	void TChooserPreferences::SetSettings(tChooserPrefPtr	chooserPref)
	bool TChooserPreferences::IsChanged()

 fix issue with chooser - if user hits the print button and chooser was selected,
	then we call the cPrintOne command instead of cPrint command
	bool	gDidSelectedChooser	= false;	// 7/5/00
	bool	gPrintOneAsDefault	= true;		// 7/5/00 put this in chooser pref somewhere
	void TPreviewImageWindow::Print(short	mode, Boolean doPreview, Boolean saveToFile, Boolean doBackground, Boolean now)
	bool  TNamedStdPrintHandler::Print(CommandNumber itsCommandNumber)
	// 7/5/00 ?? why does this not post the command does not get to fPreviewImageWindow
	fPreviewImageWindow->PostCommand(new TPostMenuCommand(cPrintOne, 0));

 Do NOT poll folder if NOT in HOT Folder Mode
- ?? will this still work between photoshop and teps jumping back and forth
- ?? will only work if user clicks on jump to button from photoshop
	which will generate cOpenAE event
	UTeps2000Application.cp
		bool	TTeps2000Application::DoIdle(IdlePhase	thePhase)

7/4/00
 Allow printing to Sony UP-D50 Printer

	constants.h
		// corresponds to STR#4002
		#define		kSony50					18	// 7/4/00
		#define 	kNumberOfPrinters		19	// 7/4/00 18	// 6/13/00 added one more printer //15
	EdwinGlobals.c
		void GetCurrentCanvas(short	printer, short canvas)
		void GetCanvas(short	printer, short canvas, tNewCanvasSizes	*aCanvas)
		void getMyCanvas(short	printer, short canvas, tNewCanvasSizes	*aCanvas)
		void GetCanvasString(short	printer, short canvas, CStr255_AC	&CanvasString)
		void GetCanvasFromCanvasString(short	printer, CStr255_AC	canvasString, tNewCanvasSizes	*aCanvas)

	LayoutView.cp
		void TOldLayoutView::SetupCanvasMenu(short	item)
		void TOldLayoutView::CalculateCanvasSize(short	printer, short canvas, bool force)
		void TOldLayoutView::SetupPrinterMenu()

	myBasicConstants.h
		#define		kSonyD50Prefs			kPrint2FilePrefs + 100			// 7/4/00
		#define		kD50ColorAdjustPrefs		5032	// 7/4/00


	mySonyPrinters.h
		// corresponds to STR#4006
		added #define	kSonyUPD50			8		// added 7/4/00
		// 7/4/00 sony upd50 printer
		#define	kUPD50Width				2048	// 7/4/00
		#define	kUPD50Height			1480	// 7/4/00
		#define	kSonyD50HiResDpi		282						// 7/4/00

	myUpdColorAdjust.c
		const	myValueRec	cgRange1toPlus9			= { 1,   1,  9  };	// 7/4/00 for upd50
		const	myValueRec	cgRange0toPlus14		= { 0,   0,  14  };	// 7/4/00 for upd50
		myUpdColorAdjustInfo	gCurUpd50ColorAdjSettings;			// 7/4/00
		myUpdColorAdjustInfoPtr getMyUpdColorAdjustInfoPtr ( short type )
		short initializeUpd5500SettingToFactory ( myUpdColorAdjustInfoPtr myPtr )
		short initializeUpd50SettingToFactory ( myUpdColorAdjustInfoPtr myPtr )
		void initializeUpdColorAdjInfo2 ( myUpdColorAdjustInfo2Ptr myPtr )

	myUpdColorAdjust.h
		#define	kUpdColorAdjInfo_Ver1Size	sizeof ( myUpdColorAdjustInfo);		// 7/4/00
		#define	kUpdColorAdjInfo_Ver2Size	sizeof ( myUpdColorAdjustInfo2);	// 7/4/00
		#define	kUpdColorAdjInfo_Ver1		0x0a1
		#define	kUpdColorAdjInfo_Ver2		0x0a2
		// added 7/4/00
		void initializeUpdColorAdjInfo2 ( myUpdColorAdjustInfo2Ptr myPtr );
		OSErr copyUpdColorAdjInfo1To2 ( myUpdColorAdjustInfoPtr srcPtr, myUpdColorAdjustInfo2Ptr dstPtr );
		OSErr copyUpdColorAdjInfo2To1 ( myUpdColorAdjustInfo2Ptr srcPtr, myUpdColorAdjustInfoPtr dstPtr );

	PreferencesWindow.cp
		tNewCanvasSizes		gD50CanvasSizes[kNumberOfCanvases];					// added 7/4/00
		bool			gUseD50Settings			= false;					// 7/4/00
		void TCanvasPrefs::SetFactorySettings()
		void TCanvasPrefs::SetSettings()
		void TCanvasPrefs::SetupCanvasMenu(short	item)
		const short cSonyGlossyItem	= 3;	// 7/4/00
		void TSonyPrinterPrefs::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
		void TSonyPrinterPrefs::SetFactorySettings()
		void TSonyPrinterPrefs::SetupFor8800()
		void TSonyPrinterPrefs::SetupFor2600()
		void TSonyPrinterPrefs::SetupFor2600dpi300()
		void TSonyPrinterPrefs::SetupForD50()
		void TSonyPrinterPrefs::GetSettings()
		void TSonyPrinterPrefs::SetSettings()
		#define		kDefaultUPD50_1UpTemplateFileLandscape				"upd50 [1Up LS Template]"		// 7/4/00
		#define		kDefaultUPD50_1UpTemplateFilePortrait				"upd50 [1Up Prt Template]"		// 7/4/00
		void doSony2600FactorySettings()
		void doSony2600dpi300FactorySettings()
		void doSonyD50FactorySettings()
	PreferencesWindow.h
		class TSonyPrinterPrefs : public TPreferencesView
		extern tNewCanvasSizes		gD50CanvasSizes[kNumberOfCanvases];					// added 7/4/00

	SonyPrintHandler.cp
		void TSonyD50PrintHandler::InitializePrinterSettings()
		tPrintSettingsPtr	TSonyD50PrintHandler::GetPrintSettings()
	SonyPrintHandler.h
		class TSonyD50PrintHandler : public TSonyPrintHandler

	Teps1000Preferences.cp
		void TTeps1000Preferences::ITeps1000Preferences()
		void TTeps1000Preferences::ReadPrefs()
		void TTeps1000Preferences::WriteTo(TStream* aStream) const
		void TTeps1000Preferences::WriteCanvasResources() const
		void TTeps1000Preferences::ReadCanvasResourcesVersion15 ( void )
		void TTeps1000Preferences::ReadCanvasResourcesVersion14()

	TepsPrintHandler.cp
		Boolean SetPrintQuantity(Boolean	showDialog, short	printerType)

	testNewPrintingCode.cp
		OSErr getDefaultPrinterCharacteristics ( short printerType, short dpi )
		short setupPrinterCharacteristics ( short printerType, short printerDpi, short desiredTemplate )

	TLowScsiManager.cp
		OSErr TMyScsiManager::GetScsiScsiStatus ( short *scsiStatus )

	TLowScsiManager.h
		class TMyScsiManager : public TLowScsiManager
		// added 7/4/00 for support of sony UPD50 printer
		#define kScsi_StatusMask			0x03e	// only bits we are interested in
		#define	kScsi_Good					0x000
		#define	kScsi_CheckCondition		0x002
		#define	kScsi_ConditionMet			0x004
		#define	kScsi_Busy					0x008
		#define	kScsi_IntermediateGood		0x010
		#define	kScsi_IntCondMet			0x014
		#define	kScsi_ReservationConflict	0x018
		#define	kScsi_CommandTerminated		0x020
		#define	kScsi_QueueFull				0x028

	TSonyScsiPrinterCmdSet.cp
		short TSonyScsiPrinterCmdSet::matchPrinterDevice ( myScsiDevicePtr myDevicePtr )

	TSonyScsiPrinterDevice.cp
		OSErr TSonyScsiPrinterDevice::IntializeThisPrinter ( short printerType )

	UPrintView.cp
		void TPrintView::SaveJobFile(TFile	*aFile, bool	now, short imageNumber, CStr255_AC	nameStr)

 SPOOLER
 Allow Printing to Sony UP-D50 Printer in SPOOLER
	UPrintView.cp
		short TPrintView::SendToPrinter(GWorldPtr	outputOffscreen)
		short TPrintView::DoSonyPrintNew ( GWorldPtr	outputOffscreen )
		void TPrintView::ReadColorCorrectionValue(TStream	*aStream, short	thePrinterType)




7/3/00
fix problem with uninitialized fsspec when loading stamp tool
	?? do we care if fFileSpec is INITIALIZED first somewhere??? 8.6 problem???
	void TTEPSFileHandler::GetFolderInfo(CStr255_AC	&folderName,CStr63_AC	&volumeName)
	void TTEPSFileHandler::GetStartSittingFolderInfo(CStr255_AC	&folderName,CStr63_AC	&volumeName)


7-1-00
all of edwin's changes
if kSchoolPhotographySitting is NOT defined, then all this stuff is NOT included
Teps2000.rsrc
	added adlib window #1240 created to scan in bar code
Constants.h
	#define 	kSpecialStartSittingCopy	6	// 5	// 7-1-00 renumbered
	#define 	kSchoolPhotographySitting	5	// next item in popup list 7-1-00
UTeps2000Application.cp
	void  TTeps2000Application::InitializeApplication()
	OSErr TTeps2000Application::CreateCustomFolder()
StartSittingHandler.cp
	TStartSittingHandler *createStartSittingHandler()
PreviewImageWindow.cp
	void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)



does print to file work inside packages?? (eg pkgA=1-8x10, then we want to print qty-2 of pkgA)
will it save the file twice (but only process it once)??????
remember to change version of internet email header!!!!!!

6/30/00
6/29/00
v7.4.73
fix internet folder name without  char at end
added date to file structure

6/29/00
v7.4.71 at mark binkins location
import weak for jni.lib
fix problem with fuji4000 printing issues
prints in half sizes now


6/28/00
v7.4.66
released to roger seaworld for internet and fuji camera problems
Boolean setMyInternetUploadPrefToFactoryDefaults ( tInternetUploadPrefsPtr ptr )
void ctopStrcpy ( Str255 s1, const char* s2 )

6/27/00
str# 4112 for internet prompt
bool myFSSpecIsTempFSSpec ( FSSpec *myFSSpecPtr );
bool myFSSpecSetCreatorAndFileType ( FSSpec *myFSSpecPtr, OSType creatorTypeID, OSType fileTypeID )
bool myFSSpecIsOpen ( FSSpec *myFSSpecPtr );
OSErr myFSShowHideFile ( FSSpec *myFSSpecPtr, bool isVisible=true );

TNewFujiCameraHandler.cp
	save fuji acquired iamges as temp file first, then change to jpeg id type
	bool TNewFujiCameraHandler::CopyImageToFolderPart2 ( FSSpec* theFSSpec, bool overwriteExisting )

TTEPSFileHandler.cp
	bool TTEPSFileHandler::Check4NewFiles()
	short TTEPSFileHandler::PutFilesInList4Check(short vRefNum, long dirID, bool checkIfEqual)



6/26/00
v7.4.6
fix grammar in validatePackage()
	DisplayNormalMessage("\pThis package contains an item that points to an invalid template file");	// 6/26/00 linda grammar
center the email window
	void TEnterEmailWindow::DoPostCreate(TDocument	*aDocument)
fix resource for email windows

6/23/00
v7.4.6
open pref file before saving it
void CopyDataAndResourceFork(TFile	*srcFile, TFile	*dstFile)
added pict#418 for "internet upload" button


6/22/00 v7.4.5 released after edwin left for holland
menu res#1008 Print To File removed
hid the "internet upload" button
requires MRJ 2.2 and ImageUploader.jar


5/1/00
4/29/00

try to fix speed issues between hot folder mode and fuji direct connect mode and spooler

teps1000Preferences.cp
	typedef struct tGeneralSettings


myFactoryDefaults.h
	#define	kFDUse2600Settings			false	// 5/1/00
	#define	kFDUse2600dpi300Settings	false	// 5/1/00

what's this for???? -->  removed UPD70A from item#14 of STR#4002???????/

myBasicConstants.h
	#define		kSony2600Prefs			kPictroGraphy4000Prefs + 100
	#define		kSony2600dpi300Prefs	kSony2600Prefs + 100

Teps1000Preferences.cp
	void TTeps1000Preferences::WriteCanvasResources() const


started to test with sony up-d2600 printer
STR# 4006	added item 7 for UP-D2600S printer
mySonyPrinters.h
	#define	kSonyUPD2600		7		// added 5/1/00
	#define	kSony2600LoResDpi		155						// for 2600	5/1/00
	#define	kSony2600HiResDpi		kSony2600LoResDpi*2

PreferencesWindow.cp
PreferencesWindow.h
look for all references to kSony2600 and kSony2600dpi300
	extern tNewCanvasSizes		g2600CanvasSizes[kNumberOfCanvases];				// added 5/1/00
	extern tNewCanvasSizes		g2600dpi300CanvasSizes[kNumberOfCanvases];			// added 5/1/00
	extern	void doSony2600FactorySettings();			// 5/1/00
	extern	void doSony2600dpi300FactorySettings();		// 5/1/00
	void TCanvasPrefs::SetSettings()
	void TCanvasPrefs::SetupCanvasMenu(short	item)
	void TCanvasPrefs::SetFactorySettings()


void TSony8800PrintHandler::InitializePrinterSettings()



4/27/00 v7.3.3 for dave morningstar
fix bug with stamp object tool 


4/20/00
make mailto and http active item in AboutBox
	void showAboutBoxNew2 ( void )
	added TAboutWindow class

always check for next printer id in kodak printer case
	short TKodakScsiPrinterDevice::FindAFreeAndReadyPrinter ( short *findDeviceType )



4/11/00
v7.3.1
Double clicking will blow up image even in shift or zoom mode
make copy of image before going to image editor for non kodak files


4/6/00
v7.3.0
Update volume name in spooler structure if pointing to other volume
	this also fixes spooler folder root directory problem
Increased speed of hot folder mode

3/27/00
v7.2.9
change adlib window #1081 to have menu #1009 for setup packages
fix lamination issue with upd-70a
	OSErr TSonyScsiPrinterDevice::IntializeThisPrinter ( short printerType )
	OSErr TSonyScsiPrinterCmdSet::PrintModeSenseCommand ( sonyPrintModeSelectDataPtr sonyPtr )
	OSErr TSonyScsiPrinterCmdSet::FormPrintModeSenseCommand ( sonyPrintModeSelectDataPtr sonyPtr )

fix pict resolution issue
	GWorldPtr TGenericFileHandler::PicHandle2GWorld(PicHandle	aHandle, short	scalingFactor)



3/24/00
v7.2.8
	changed resource menu labels as per linda
	got new button from linda


3/23/00
	added constants kUsedCanvasedMenuID, kAllCanvasedMenuID, kUsedPrintersMenuID, kAllPrintersMenuID and fixed
	canvas problem (enabling all canvases)
	
	
3/21/00
make sure GetPixMapAndLockIt/getMyGworldInfo is matched with mySetPixelsState or myDisposeGWorld
	ColorsyncUtils.c
		bool matchInputAndOutput(GWorldPtr	outputOffScreen)
		bool matchImageToMonitorProof (GWorldPtr	outputOffScreen)
		bool matchInputAndOutput(GWorldPtr	outputOffScreen, tColorSyncPrefPtr	thePref)
	bool rotate16BitsImage90Degrees ( short mode, GWorldPtr sourceGWPtr, GWorldPtr destinGWPtr )
	tiffUtils.c
		void	Buffer2GWorld(unsigned char *inBufferPtr, GWorldPtr	TiffOffScreen)
		GWorldPtr TiffFile2Offscreen(FSSpec	theFSSpec)
		GWorldPtr GetFullTiffFile(TFile	*aFile)
	UOverlayObject.cp
		OSErr myCopyRChannelToAlpha ( GWorldPtr mySourceGWorldPtr, GWorldPtr myDestGWorldPtr )


3/20/00
Disable popup menus in previewimage window and printmode window while loading new template
call Kill Picture in Quicktime utils to dispose picture
Pass reference to Volume ref num if find by name
removed forceMemoryMovement after myDrawPicture in PichandleToGworld in Spooler
Drag and drop view filename stamp shows last name


3/17/00
update with linda's new setup utils picts
chnage from kUndefinedvRefNum to kUndefined_vRefNum
change from kUndefinedparID to kUndefined_parID
replace all -9999 with kUndefinedvRefNum and kUndefinedparID
	filestuff.c
	PrintServerPrefs.cp
	SittingDirectoryPrefs.cp
	SpecialPoseModallyWindow.cp
	StartSittingPrefs.cp

void TTEPSFileHandler::SaveToFolder(short vRefNum, long	parID, long	fileNumber, bool showProgress)
	while is fileNumber = -1

why? 	ptr->AllinPrefs.masterImagesFolderFSSpec.file.vRefNum	= -kUndefinedvRefNum;




problems:
when create template thumbnails, and then cancel out in middle - crashes
when volume not mounted, should only give one message not 2
wrong volume name is displayed for master server folder
who is window 'dstw'




3/15/00
problem with missing folder
ptocStrcpy must terminate with null after copying

GetVInfo is no longer supported by Carbon - must replace
	bool findVRefNumFromVolumeName ( unsigned char *dirName, short *theVRefNum )
	bool findVolumeNumberFromVolumeName ( Str255	dirName, short *theVRefNum )
	findPCCardVolume
	void flushTheVolume ( void )


ALSO need to do same for folder protection with copy to server folder prefs as well



3/13/00
Create smaller thumbnails for template file
	created new function: void createThumbnail4TemplateFile(TFile	*aFile)
Added drawing of offscreen to progress indicator after each image object (also in spooler)
Added check if Quicktime exists for generic file handler
Added findVolumeNumberFromVolumeName for finding daily-, special and spooler folder to correctly 
find volumes even if they mount in different order each time

3/12/00

huh????? does it work????
Boolean TStampObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
Boolean TTextObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
when to use MADrawString or TextBox_AC??



check out reading file to picHandle - make handle non-purgeable?

When creating newGworld
	make sure pixels are NON-purgeable - which they are by default attribute

LOOK - must be like this
	GWorldFlags		srcFlags	= 0;
	PixMapHandle	srcPixMap	= GetPixMapAndLockIt ( srcGworld, &srcFlags );
	GWorldFlags		destFlags	= 0;
	PixMapHandle	destPixMap	= GetPixMapAndLockIt ( destGworld, &destFlags );

	GetGWorld(&CurrPort,&CurrDev);
	SetGWorld(destGworld, NULL);

	// access pixels and etc
	CopyBits ( src, dest, etc );

	SetGWorld(CurrPort,CurrDev);
	mySetPixelsState ( srcPixMap, srcFlags );
	mySetPixelsState ( destPixMap, destFlags );


replace all DrawPicture() calls with myDrawPicture()


3/11/00
teps-spooler -
looking for memory lock/unlock problem



if you call protectTheGworld, you must UNLOCK & NONPurge it or else cause stiff memory
still a problem - protectTheGworld now calls GetPixMapAndUnLockIt instead of GetPixMapAndLockIt
	do you want this gworld to stay locked for any reason???



how does aFile get removed from aList???
	OSErr GetAllFilesInDirectory(short vRefNum, long dirID, short &filesInDir, TSortedFileList	*aList)


fix lock/unlock problem in ColorsyncUtils.c

created function
	bool myCopyBits ( GWorldPtr sourcePtr, GWorldPtr destinPtr, const Rect *srcRectPtr, const Rect *destRectPtr, short copyMode, RgnHandle maskRgn )
	void mySetPixelsState ( PixMapHandle pixMap, GWorldFlags pixFlags )

fix memory fragmentation with drag and drop preview mode
void TDropPreviewImage::Prepare4Drawing()
NEVER NEVER call CopyBits directly!!!!!!!!!!!!!!!!!
	1. must get original state
	2. lock it down
	3. do the copybits
	4. restore the original state

locking must be temporary!!!!!!!!
non-purgeable is always needed to make sure memory is not reused by someone else!!!

gworld protection needs to prevent purging is enuf for protection

only require to lock at time of writing into or reading from gworld
all other case should just leave gworld as NON-purgeable!!!!!!





3/10/00

made lots of changes to find memory leak problem

fix update of a-b-c of image objects when moving one object to back

change main menu window id from 'wind' to 'mtep'
make most str# purgeable
make arrow default cursor for password stuff

use linda's new buttons for utils window
change 'add' button in setup database window to 'import'
change import database window
	void TImportWindow::DoPostCreate(TDocument	*aDocument)
	resource STR#4009
change resource
	MENU 2002
change adlib
	window #1201
point to default firmware folder for kodak camera utils

3-10-00
use smaller scale factor to get better preview images for non kodak images	

3-10-00
replaced all "occured" with "occurred"
remove RETHROW problem
	GWorldPtr TNewKodakCameraHandler::GetImage()

3-8-00
v7.2.5 - never released
fix problem with checking for bounds in editing templates with rotation on or off
fix problem with mirror mode


3/7/00
v7.2.4
fix memory leak problem esp with OS 8.6


3/6/00
v7.2.3
fix problem with security key
	void TTeps2000Application::DoSetupMenus()


3/2/00
v7.2.2beta
more new buttons from linda
fix problem with ejecting usb-pc cards
fix problem with update volume name when selecting another root volume
default location for camera status window is lower right hand side
fix copying database to spooler folder again


3/1/00
v7.2.1b6
add updated buttons by linda
changed pict 312
add picts 401, 402, 403, 404 to main menu buttons
fixed download firmware for kodak so it can select from any folder
	OSErr GetFolderFSSpec ( short vRefNum, long dirID, FSSpec *theFSSpec );
fixes start sitting with pc-card
	void TTeps2000Application::NewPCCardSitting(short	theChoice)	// edwin check to see if other problem may arise??

teps-spooler
============
fix problem with printing garbage when 300dpi 2-5x7s
	Boolean TImageObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)



2/29/00
v7.2
fix problem with kodak direct connect
fix password stuff when reading old prefs
  	fGaveValidPasswordAtStartup	= false;	// 2/29/00



 02/24/00
Zoom out so that whole template is visible at once
Protect each individual item with password

 02/22/00
TEPS-2000
new features
you can add files now if you are in a start sitting, internal counter to create filename
double warning when returning to main for start sitting too
added password protection for TEPS-settings, give password protection once at startup (option key down)
or each time you go into the preference and each time you want to enable or disable password protection
or change the password under general preferences
Created TEPS Miscellaneous folder with TEPS IMAGE EDITOR FOLDER in it that can hold an alias to the 
image editor app you want to start at choosing Edit
Convert Kodak TIF to regular TIFF files before jumping to graphics editor, kodak TIF FileHandler will read 
regular TIF files when jumping back to TEPS
Added guides to template/node design window
bug fixes
fixed bug in Drag & Drop toolwindow that caused a crash when applying to all when not all imaged
were filled in
fixed bug for duplicating overlays when trying to load in a new overlay image
Resize to layout size will be based on the 'constrain aspect ration' setting in the object size window
Start sitting also works now for PS2.0, PICT, TIFF and Generic FileHandler

Spooler
fixed bug for weird characters in filname stamp when no image object available

2/11/00
used adlib to change:
	window #1210 & 1206 print toolbar
	window #1023 cancel = return to sitting
	window #1214 default okay
	views  #1702, 1703, 1704, 1705

look for stuff dated 2/9/00
updated MTeps2000Application.cp
	void main()

changed main menu stuff
	adlib window #1000	// added 'bout' TIconButton

added files for new about box and splash screen
	newAboutStuff.cp
	added pict #310
	added adlib window #1700
	added adlib view #1015	// new about box
	added adlib view #1018	// new splash screen
updated files for new about box and splash screen
	UTeps2000Application.h
	UTeps2000Application.cp
		TTeps2000Application::TTeps2000Application() :
		void  TTeps2000Application::ITeps2000Application()
		void  TTeps2000Application::InitializeApplication()
		void TTeps2000Application::DoMenuCommand(CommandNumber aCommandNumber)
		void TTeps2000Application::CreateApplicationSplashScreen()
		void TTeps2000Application::DestroyApplicationSplashScreen()
		void TTeps2000Application::UpdateApplicationSplashScreen()
		void TTeps2000Application::ShowCurrentVersionStrings()
		void TTeps2000Application::UpdateSplashScreenMessage ( CStr255_AC theString )

added files for password
	password.c
	password.rsrc


1/24/00
updated adlib window #1008
updated adlib window #1065
updated STR#4009
updated STR#1065

fix stuff for kodak camera utils
updated KodakUtilWindow.cp
	void TKodakUtilWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	/*event*/)

added function to myDirectoryUtils.c
	OSErr GetFolderFSSpec ( short vRefNum, long dirID, FSSpec *theFSSpec );

updated NewKodakCameraHandler.cp
	void TNewKodakCameraHandler::UpdateFirmware()



 01/18/00
fixed bug in Overlay object - changed struct alignment to mac68K in NewStructures.cp
Created rotation possibility for Image Object
Red outline for selected item in template or node view
Show double line at bottom of object list view if you try to drag an item to the end of the list
indent stamp object if filename or foldername

 01/10/00
delete unmarked
unmark after printing
change to bigger font when clicking on popup 
prompt to rename for camera handlers

 12/22/99 
Teps Spooler sends Apple event to teps2000 after printing to update key counter string
Template file has thumbnail stored in it that is displayed on Printmode window
Printmode window has tabbed view now to switch between printing packages and printing canvases
If main images, special images or print spooler folder is not there (volume is not mounted, show in parantheses)
AppleEvent while in preview images window

 12/9/99 
Command-click in title bar and reveal in Finder on letting go
	- for template and node window
	- for preview image window
	
Status Window for all sittings (for hot folder and read from PC-card too)

 12/7/99 
Sorting of files occurs within directory if multiple folders
Message when applying color balance
Combine Shift & Zoom in one Shift/Zoom view where both are applied
Node/Image Info -> Show Foldername + path
Show Two Side by Side in popup and remove from menu (hires too)
Info "Balloon" Behavior


 11/26/99 
Variable Size for Double Preview Image Size
Print-button on Save Image (yes/no) that posts Print event
Command-P prints to current printer (only to chooser if chooser or DPM55)
Disclosure triangle for Text, Stamp and Edittext object window
Moved drag&drop toolwindow up and densitometer window down
Preference for print package or print canvas at startup and last selected package
Added disclosure window to maintain shift-, zoom- and coloradjust settings when previewing image (drag&drop mode)
Colorsync can display name of file too. which?

 11/11/99
 11/12/99
Show to side by side with highres image
Change thumbnail rotation if previewimage rotation changes
Added a popup menu for crop setting in preview image window (entire image, 8x10 PT&LS, 5x7 PT&LS) + preference for it


 11/9/99
Stamp-, Edit- and Text Object Windows match now, use TIncludeView for Font, Size and Style
Added message ' do you want to link the template to an output canvas'?
Remove namestring if moving cursor away from thumbnails
Added seperator to the left and right of thumbnail view
Update foldername works here?!?
show path for 2-up window if clicking on filename
printqueue, fontsize the same, dim out buttons if nothing in Queue
Pathname in imageinfo view in drag&drop toolwindow
Support multiple pages for marked images in drag&drop mode
Kodak EV settings show correct slider bar
If sending to spooler save images to daily images folder
Save as File, use colorsync if option is enabled
Sending packages to spooler correctly with different printer types
Drag & Drop Mode, Show both black&white and color images correctly
Rename File show current filename and new filename
Added messages to all Navigation windows STR# resource 4112
Scroll Selection into view when adding to queue
Send to spooler from queue Window

version 6.2.1
=============
12/15/99
fix the occasional crashing when loading preferences from a file
	void TTeps1000Application::DoMenuCommand(CommandNumber aCommandNumber)


version 6.2.0
=============
12/9/99
fix problem with saving files in camera mode
	modified void TTEPSFileHandler::SavePrintedFiles()

12/8/99
fix more problems with 8660 printing
	added short TAPrinterDevice::DoPollEventWithTimeout ( long timeoutTicks )
	modified short TKodakScsiPrinterDevice::FindAFreeAndReadyPrinter ( short *findDeviceType )
	added Boolean TKodakScsiPrinterDevice::DoMatchKodakMediaStuff ( void )
	modified short TKodakScsiPrinterDevice::TryToOpenSession ( short printerType )
	added short TKodakScsiPrinterDevice::TryToOpenSessionNew ( short printerType )


12/7/99
fix problem with 8660 printing issues
	added OSErr TBaseScsiCmdSet::BasicSetupCommandKodak ( void )
	modified OSErr TKodakScsiPrinterCmdSet::ReceiveCommand ( long theLen )
	modified Boolean TKodakScsiPrinterDevice::CheckKodakPrinterPIB ( void )
	added Boolean TKodakScsiPrinterDevice::CheckKodakPrinterPIB2 ( void )
	modified short TKodakScsiPrinterDevice::CheckForKodakPrinterError ( short doVerbose )
	added short TKodakScsiPrinterDevice::CheckForWriteRequestGranted ( short doVerbose )
	modified short TKodakScsiPrinterDevice::GetWritePermission ( long totalLen )
	added short TKodakScsiPrinterDevice::GetWritePermissionNew ( long totalLen )

version 6.1.9
=============
12/1/99
Prevent autokey when printing packages
	void TPreviewImageWindow::DoKeyEvent
when chooser printer selected and printing packages, change check order
	void TPreviewImageWindow::Print(short	mode, Boolean doPreview, Boolean saveToFile, Boolean doBackground, Boolean now)

dont go to edit template if not an existing template 
	void TSwitchModeWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
		case 4:	if (IsExistingTemplateFile(&getCurrentCanvas()->aTemplate.templateFile))	// added 12-1-99

version 6.1.8
=============
11/23/99
added hi res acquire preview option to camera input preferences
	Boolean setMyInputPrefToFactoryDefaults ( tInputPrefPtr ptr )
	TInputPreferences::~TInputPreferences()
	void TInputPreferences::SetSettings(tInputPrefPtr	ptr)
	added TCheckBox view 'acqp' to input pref resource
	added to tInputPrefs structure
		Boolean			camUseHiResPreview;	// 11/23/99
	GWorldPtr TNewFujiCameraHandler::GetPreviewImageFromCamera() supports this option

version 6.1.7
=============
11/17/99
we really need a pref to set print canvas / print templates as startup window as part of operations window prefs??????
temporary patch so that packages print correctly via F-Keys even in the canvas mode
	void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)
	short doCopyTheFile ( FSSpecPtr mySourceFSSpecPtr, FSSpecPtr myDestinFSSpecPtr, Boolean overwriteExisting)
	short doCopyTheFileInChunks ( FSSpecPtr mySourceFSSpecPtr, FSSpecPtr myDestinFSSpecPtr, Boolean overwriteExisting)

version 6.1.6
=============
11/16/99
make sure correct rotation value is sent to the spooler job file
works fine if printing in foreground; but sent wrong rotation info to spooler job
	void TImageObject::SetImageFSSpec(FSSpec	aFSSpec)
remove fujiCameraHandler2.c from object list
remove fujiDS300cmd.c from object list
remove reference to checkIfValidPageCode() and replace with CheckIfValidPageCode()
	short TFujiScsiCameraCmdSet::SetupDefaultModeParamHeaderPtr ( modeParamHeaderPtr thePtr )

updated the about box DLOG #1303
	doAbout.rsrc
make sure teps-spooler show the correct about box dlog
	void showAboutBox ( void )

version 6.1.5
=============
11/15/99
if start sitting and source is file, print sitting folder name NOT source folder name
	void TTEPSFileHandler::GetCurrentFolderFSSpec(FSSpec	&tmpFSSpec)


version 6.1.4
=============
11/12/99
when not in starting sitting mode, doidle should not check for camera images
	Boolean	TTeps1000Application::DoIdle(IdlePhase	thePhase)


version 6.1.3
=============
update to new kodak lib 1.4.2
MUST confirm with Kodak CAMERA fo scsi!!!!!!!!
after start sitting, preview image will now points to the last sitting folder if nav is avail
	otherwise preview image will go inside the last sitting folder (for nonNavLib)
fix copy images to hard disk mode of start sitting with camera w/ card now works properly
fix fuji camera input when do prompt-before-save is on
	fixed Boolean TNewFujiCameraHandler::Check4NewFiles()
	added GWorldPtr TNewFujiCameraHandler::GetPreviewImageFromCamera()


version 6.1.2
=============
11/8/99 - thanks to michaels photography
fix pg3000 and 4000 printing with color matching stuff
	TFujiScsi2PrinterDevice::TFujiScsi2PrinterDevice()
	OSErr TFujiScsi2PrinterDevice::SetupModeSelectParameter ( short w, short h, short xOff, short yOff, short doPrintNow, short transferMode, short scanMode, unsigned char pageCode )
		(myModeSelectDataPtr->colorAdjustPage).imageProcessSelection	= fFactoryColorAdjustData.imageProcess;
	TFujiScsiPrinterDevice::TFujiScsiPrinterDevice()
	OSErr TFujiScsiPrinterDevice::SetupModeSelectParameter ( short w, short h, short xOff, short yOff, short doPrintNow, short transferMode, short scanMode )


11/2/99
fix printing packages to spooler
	void TPreviewImageWindow::PrintPackage(short item, Boolean	spool, Boolean preview)
	added function void setMyPrinterType( short printerType );

give proper error if package does not exists
	void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event)

try to get color sync to work right???
Boolean TPreferencesListView::checkIfOptionAvailable(short item)
	from 16 to 17

fix save composition as to allow colorsync transforms on or off
	void TTepsPrintHandler::PrintToFile(GWorldPtr	outputOffScreen, StandardFileReply	reply)

10/29/99
change to CWPro 5.2 compiler (need to rebuild macapp)


version 6.1.1
version 6.0.11
=============
still waiting for kodak new lib for fix to 420 cameras in old libs

trying to get script to work properly
trying to get balloon help to work properly

fix drag and drop previews when same nodes have different color and mirror options

doCopyFile now calls doCopyFileInChunks
changed about box to include access to the web
added options in the apple menu for online access and user manual access

10/25/99
uses 1.4.0 kodak library
fix select a folder 'alias' in myChooseFolder
enable "triprism online"
	updated resource to include in apple menu item
	invoke DebugInternetConfig ();
launch help document from teps
	added myFinderLaunch.c
	added myFinderLaunch.h


version 6.0.10	- fix for wild animal park
==============
 10/25/99
compile with older v1.3.9 of kodak lib again
	- found problem with copyImageToFolder with dcs420 cameras
Boolean TNewKodakCameraHandler::CopyImageToFolder(FSSpec	*theFSSpec, Boolean	overwriteExisting)
	- pass nil to DCCopyImageToFolder 

 10/21/99
when invalid pref file, gives proper message instead of eof error
save as with new name works now
save file as with a different type ???????????
commented change for correct kodak startup color default


version 6.0.9
=============
 10/19/99
fix problem with color sync in the spooler mode
	CMError MyMatchBitmap(PixMapHandle	thePixMap, FSSpec	profA, FSSpec	profB)

fix pg3000 to print at correct dpi
	void TFuji3000PrintHandler::InitializePrinterSettings()

10/7/99
fix default kodak color balance setting
	void TNewKodakCameraHandler::SetNewWhiteBalanceValues(tWhiteBalanceStruct	whiteBalanceSettings)



version 6.0.8
=============
 10/8/99
- make pictrography4000 work in emulation mode
	void TFuji4000PrintHandler::InitializePrinterSettings()
	TTepsPrintHandler *CreatePrintHandler(short	printerType, tNewCanvasSizes	*aCanvas)
	void TFujiScsiPrinterCmdSet::CheckSenseKey ( unsigned char* senseDataPtr )
	added ALRT resource id#3100 to substitute for 1001
	class TFujiScsiPrinterCmdSet : public TBaseScsiCmdSet
		short TFujiScsiPrinterCmdSet::matchPrinterDevice ( myScsiDevicePtr myDevicePtr )
	change name - OSErr TFujiScsiPrinterCmdSet::FormFrameMemoryClearCommand ( unsigned char clearType )
	change name - OSErr TFujiScsiPrinterCmdSet::FrameMemoryClearCommand ( unsigned char clearType )
	short fuji_DetermineDpiIndexFromDpi ( short userDpi, short specificPrinterType )

	OSErr TBaseScsiCmdSet::FormModeSelectCommand ( short allocationLength, unsigned char byte01 )
	OSErr TBaseScsiCmdSet::FormModeSenseCommand ( unsigned char senseLength, unsigned char byte01, unsigned char byte02 )
	OSErr TBaseScsiCmdSet::FormSendDiagnosticCommand ( unsigned char byte01, unsigned char byte04 )
	OSErr TBaseScsiCmdSet::ModeSenseCommand ( char senseLength, unsigned char byte01, unsigned char byte02 )
	OSErr TBaseScsiCmdSet::SendDiagnosticCommand ( void )


 10/7/99
- use new Eve3Lib v2.1 for usb and etc
- void TPrintBGBehavior::EnableBackgroundPrinting(Boolean enable)
	make 'resume' button show up properly when starting up in auto start spooler mode

 10/6/99
- mutiple pages supported for marked images
- Auto loading of template with fixed marked image number
- Saving of whitbalance setting for next startup


version 6.0.7
=============
 9/21/99
- JPEG header files struct alignment = 68K

 9/20/99
- upgrade to kodak DCS_SDK_Mac_1_4_0 Folder from version 1.3.9

 9/16/99
- Teps2000.rsrc
	MENU#1003, MENU#1008 add 8660

 9/15/99
- allow proper printing to 8657 5x7 printer
- allow proper printing to NEW 8660 printer (may need to check max print area sizes)
- allow proper printing of 8660 with both 8.5x7 paper and a4 and 8x10 paper
- updated class TKodakScsiPrinterCmdSet : public TBaseScsiCmdSet
	added short	fSpecificDeviceTypeFound;	// added 9/15/99
- updated class TKodakScsiPrinterDevice : public TScsiPrinterDevice,
								public TKodakScsiPrinterCmdSet
	added short	fKodakMediaSizeCode;	// 9/15/99
- mySonyPrinters.h
	#define	kKodakDS8670		13		// added 9/15/99
	#define	kKodakDS8660		14		// added 9/15/99


version 6.0.6
9/15/99
NewKodakCameraHandler.cp
	- TNewKodakCameraHandler::CopyImageToFolder remove extra 90 tick wait if firewire camera
		const short	cRetry	= 8;	// 9/15/99 was 3
CameraHandler.cp
	- Boolean	TCameraHandler::ConfirmSaveImage()
	// added this check 9/15/99
	if ( !(getMyInputPrefs()->promptToSave) && 
		!(getMyExternalVideoPref()->useExternalVideoMonitors) )
		return true;
ULayoutView.cp
	void HandleDropLayoutObjects(TView* theView,const VPoint& theMouse,TDataPackage* theDataPackage)
	- check for bounds when dropping box into view


9/14/99
Teps2000.rsrc
	- fix MENU #2009
	change "print low res preview" to "Preview Low Res"
	change "print hi res preview" to "Preview High Res"
PreferencesWindow.cp
	- fix doKodakDS8657FactorySettings() to link properly


version 6.0.5
9/8/99
- dont allow Lite key to print FG but allow to send to spooler



version 6.0.4
8/31/99
- fix preference problems
8/30/99
- change constants.h to reflect correct tool object names


version 6.0.3
8/25/99
- fix target problem with external video monitor stuff
	make Window #1212 as floats
- myGworldAndBuffer.c
	short convertPlanarToGWorldBuffer ( unsigned char *inBufferPtr, unsigned char *outBufferPtr, short dataHeight, short dataWidth );

version 6.0.2
8/24/99
fix MySaveAs function to use navigationServicesLib
fix packages - need to created packages popup before creating printToolBar window


version 6.0.1
released 8/23/99





6.04
8/16/99
Different zoom values
Don't drag preview image window
Reset view (in drag&drop) if changing from current to marked, etc.
Spool package works
Cancel print package
Stop-button on progress indicator
warn if try to save node without image
Object list view
After loading prefs Prompt to Quit
Template name cannot start with dash
Startup spooler with option key


5.66
8/5/99
- update correct value in the PrintToolBar Box
	void TPreviewImageWindow::UpdateCounterValue()
- update correct click value in the BG app
	void TPrintBGBehavior::UpdateCounterValue()
	void TPrintBGBehavior::IPrintBGBehavior(IDType	identifier)
- updated BG resource file
- updated FG resource file
	PrintToolBar Height = 225
- changed string name of teps-2000 key types
	CStr255 tpiRainbowKey::GetKeyTypeString ( void )

	

8/5/99
- use new compiler CW Pro Release 5, IDE 4.0
- turn on import weak for external libs
- fix doPromptSave - used to always save regardless yes or no
	void TNewKodakCameraHandler::SaveImage()
		if !ConfirmSaveImage, return; 
- allow TepsLite Key to work properly - allow print preview and sending job to spooler
	void PrintForDemo(GWorldPtr	outputOffScreen, Boolean doPreview) // added Boolean doPreview
	GWorldPtr TDropView::Draw4Printing(Boolean preview)
	GWorldPtr TTepsPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
	void TSaveToServerCommand::SaveAsJPEG(FSSpec	copyFSSpec)
- optimize memory for offscreen
	TExternalVideoWindow::SetDrawOffscreen
- fix problem with kodak printer not decrementing key after printing
	Foreground and Spooler - 
	changed return type of 
	OSErr TKodakScsiPrinterDevice::SendImageToPrinter ( multiImageLayoutPtr infoPtr )
- remove BG Project Folder from access path in Teps2000Project.
	check for kBackgroundApp when including background files in FG project
	void TNewProgressIndicator::Continue(long howMuch)
	PollUtils.c includes to check for kBackgroundPrintApp
	ProgressNew.cp includes to check for kBackgroundPrintApp
- check for right constant
	short tpiRainbowKey::CheckDoPrintForDemoBG ( short printQuantity )
- Fix Fuji Direct Connect Lockup problem
	Boolean TNewFujiCameraHandler::Check4NewFiles()
	deviceStatusControlPagePtr TFujiScsiCameraDevice::GetDeviceStatusControlPageInfo ( void )
- in BG - check for fColorSyncPrefs.doUseColorMatching before calling findProfile
	short TPrintView::SendToPrinter(GWorldPtr	outputOffscreen)
- do display message if profile not found in spooler version
	Boolean FindProfile(OSType		profileClass, FSSpec	*theFSSpec, Str255	theProfileName)
- decrement count after save composition as
	void TTepsPrintHandler::PrintToFile(GWorldPtr	outputOffScreen, StandardFileReply	reply)





5.65 edwin's changes
Added Packages
Added 180 degree Node rotation and changed order in popup
Save and Load of Labels
Show Name of tool if you go with cursor over toolbar in template and node window
Fixed bug of moving object when height and width matches bounds
Show Strings instead of labels in preview windows
Display Size of Image Files in Node Info Window
Zoom effect when opening preview window
Error checking for All in
Option to enable/disable Server copy in Preferences
Do not add chooser template to Package
Added option in preferences to enter operationswindow after copying to daily images folder
Preference for High res or Low res preview
Start Sitting - Added button to select a folder to resume sitting with
Load & Save for edit text
Show thumbnails in all in server copy window
Switch back to individual mode on drag & drop
Edit canvas hold down button, Edit canvas and Edit template option



5.510
7/23/99
fix memory leak for disney version when acquiring kodak images twice;

5.59
7/23/99
allow only one job to one kodak printer
	added Boolean TKodakScsiPrinterDevice::CheckKodakPrinterPIB ( void )


5.58
7/22/99
stamp "for demo only" when "save composition as"
changed PrintForDemo function: check for key inside in this function


5.57 released
7/21/99
7/19/99
For Disney's New Version
added cExternalVideoWindow in CommandNumber.h
added cExternalVideoWindow in Resource
added preferences for TExternalVideoWindow stuff
when in BG, warn user about missing overlay before showing customGetDialog box
in hot folder mode, do not update preview image right away, just get thumbnail;
in hot folder mode, use the pc-card parameters for default hot folder location
modified window #1223 for editable strings - allow nil string
adeed #1221 for labels - does NOT allow empty string

5.56
7/19/99
fg
made logo color/font match up
change edit text and pre-defined text to Editable Text
7/16/99
fg & bg
fix problem with locating a missing database overlay during printing/preview
valid refnum, dirID and NIL string returns noErr for FSpMakeFSSpec();
created default gTepsDBFolderFSSpec
created default gTepsPrefsFSSpec
points to default database folder when saving or selecting an overlay database
points to default preference folder when saving or selecting a preference file


5.55
7/16/99

TEPS-2000
=========
UTeps1000Application.cp
UTeps1000Application.h
	added gTepsDBFolderFSSpec
	createNewFolder(kTepsDatabaseFolderString, appvRefNum, appDirID, &gTepsDBFolderFSSpec);
void TOverlayObject::ReadFrom(TStream* aStream)
Boolean TOverlayObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
void TOverlayObject::Draw4Preview(GWorldPtr	outputOffscreen)

SPOOLER
=======
Boolean TOverlayObject::Draw4Printing(GWorldPtr	outputOffscreen, short	dpi, TPrintView	*theView)
PicHandle GetPicHandleFromDatabase(long	recordNumber, FSSpec	*theFSSpec)
	must check for nil string name first 


5.55
7/16/99
UDatabaseCursor.cp
	added kTepsDatabaseFolderString definition
	#define	kTepsDatabaseFolderString	"TEPS-2000 DATABASE FOLDER "
	change all references of createImageFolder to createNewFolder
Teps2000.rsrc
	changed resourse STR# 4003 for fuji event imaging system instead of photoproofing system
myDirectoryUtils.c
	added function createNewFolder()
	added if ( aNewDlgHook ) 	DisposeRoutineDescriptor ( aNewDlgHook );
	added long GetFolderDirID(FSSpec	theFSSpec)
UTeps1000Application.cp
UTeps1000Application.h
	remove member function createImageFolder()
	change all references of createImageFolder to createNewFolder
	added "TEPS PREFERENCES FOLDER " in void  TTeps1000Application::ITeps1000Application()
	added gTepsPrefsFSSpec
	change DisplayNormalMessage ( "\p Please Quit and Re-Launch Application" );
myCopyFileUtils.c
	set to default "TEPS PREFERENCES FOLDER " when saving and loading
	modified void myDuplicateResFile()
	modified void myLoadNewPrefFile()
TepsPrintHandler.cp
	Boolean ValidatePrint(Boolean isForeground, short	printerType, Boolean	setPrintQuantity)
	must have key in order to send job to spooler

SPOOLER
=======
UDatabaseCursor.cp
	return true instead of return void
modified TBackgroundPrintApp::IBackgroundPrintApp()
	make sure a spooler folder exists
	if exists, make sure all the sub-folders are created


5.54
7/15/99
alert user why preference file is not valid based on FG or BG application
	Boolean myLoadNewPrefFile(IDType	creator)
updated resource myBasicApp.rsrc
	changed dlog 17333 item #11 to icon#1 instead of 0
updated resource teps2000.rsrc
	changed recall to locate in dlog for waiting for pc-card
	changed all references of daily images folder to main images folder
	changed return to main menu to all upper case
	changed from show previous/next page to load previous/next page
changed text string kSelectPreviewFolderString

changed Boolean setMyPrintServerPrefToFactoryDefaults ( tPrintServerPrefPtr ptr )
	to accommodate both background and foreground settings

7-15-99
Created IsExistingNodeFile function
Database AliasHandle retrieve

7-14-99
Enabled items show previous and next page in resource 'MENU' 2014
	Added void TPreviewImageWindow::DoKeyEvent(TToolboxEvent* event) page up and down
	Added void TDropView::LoadPreviousPage()
	Added void TDropView::LoadNextPage()
	Added void TDropView::ClearTemplate()
	Added 2 options to void TPreviewImageWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
Created IsExistingTemplateFile function
Replaced all Append Menu's with SetMenuItemText
Clicking on link button in TCanvasPrefs will fill in Template name in name box
TEPS-SPOOLER
Added floating popup for delete file button
Added option to save and load preferences file + creator type
Changed return true to return noErr in TPrintView::ReadObjects
Disable delete button on idle
Display warning if not pointed to Spooler folder

5.3.6
7/8/99
TEPS-SPOOLER
Create new file TPIErrors.h
changed function Boolean to short TPrintView::ReadObjects(FSSpec	fileSpec)
short TPrintView::ReadObjects(FSSpec	fileSpec) returns appropriate error codes
checks for job version number and prevents using newer or older jobs

5.5b3
7/13/99
fix stuff for chooser - need new function to check validTemplate/validNode files
updated resources in both Teps2000 and Spooler versions to match linda/serge's stuff


Added new predefined String classe to MacAppClasses.cp
Added files: PredefinedStringHandler.cp, PredefinedStringHandler.h, PredefStringsWindow.cp, PredefStringsWindow.h,
			 UEditTextObject.cp, UEditTextObject.h, UEditTextSettingsWindow.cp, UEditTextSettingsWindow.h,
			 StartSittingHandler.cp, StartSittingHandler.h, SaveToServerCommand.cp, SaveToServerCommand.h
Added Allin Server Copy from start sitting through Kodak Direct Connect
Added Edit String Icon to add Predefined strings to a template or a node
Added GotoSetupStringsWindow from SwitchModeWindow.cp to edit predefined strings
Added Path popup that shows path of preview folder
Added Hot Folder option
Fixed bug in Printing from drag & drop view that would not allow cancelling printing
Fixed a memory leak in cancelling printing
Added Colorsync to the Spooler App
Save floating window positions
Use left image for print in two-up window
Put previous- & next image button on Kodak Image Settings Window for All in
Also removed apply to marked and apply to all, ok will always apply to all
Added Path popup in one-up window

5.3.5
6/30/99
fixed allin to make the output crop ratio the same as the input aspect ratio
	udpated Boolean TTeps1000Application::CopyToServer(FSSpec	srcDirectory)
fix Target Issue - fPreviewWindow should always be the target
	updated void TThumbNailView::DoMouseCommand(VPoint& theMouse, TToolboxEvent* event, CPoint hysteresis)
	updated void TThumbNailView::DoMouseUp(VPoint& theMouse,  TToolboxEvent*	event, CPoint hysteresis)
	removed Boolean TThumbNailView::BecomeTarget()
	removed void TThumbNailView::ResignedTarget()
	removed all "wants to be target" from view 1300 and window 1201
prevent extra button clicks
	updated void TSwitchModeWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
fix chooser / target problem
	updated Boolean TNamedStdPrintHandler::DoPrintCommand(CommandNumber aCommandNumber)
	updated void TPreviewImageWindow::AttachPrintHandler() always install print handler
	updated void TPreviewImageWindow::DoChooserPrint(Boolean doPreview, Boolean saveToFile)
		added fRedirectedPrintHandler->DoMenuCommand(cPrint);
make sure valid chooser printer is selected
	updated Boolean TNamedStdPrintHandler::DoPrintCommand(CommandNumber aCommandNumber)
always enable page setup and print menu items
	void TRedirectedPrintHandler::DoSetupMenus()
check for canon/kodak tiff file
	updated Boolean TNewKodakCameraHandler::IsValidFile(TFile	*aFile)
if invalid template, dont crap out with memory error
	updated void TPreviewImageWindow::Print(short	mode, Boolean doPreview, Boolean saveToFile, Boolean doBackground, Boolean now)
give the correct database name if not found
	updated Boolean TdtFMgr::OpenDatabase()
fix use printer problem
	updated void initializePrinterPopupSettings()
fix double click problem while prepare for print progressbar IsVisible
	updated void TSwitchModeWindow::DoEvent(EventNumber	eventNumber,TEventHandler*	source,TEvent*	event)
apple-w is same as apple-q in layout window
	updated void TLayoutView::DoSetupMenus()
refresh progress box with complete image including overlay on top of template
	updataed GWorldPtr TTepsPrintHandler::PrepareForPrint(short	imageNumber, Boolean	preview)
check for all the scsi bus
	updated short TBaseScsiCmdSet::find_NextDesiredDeviceUnit ( short desiredDeviceType )
create separate preferences for pictrography4000
	updated void TOldLayoutView::SetupCanvasMenu(short	item)
	updated void TOldLayoutView::CalculateCanvasSize(short	printer, short canvas)
	added tNewCanvasSizes		gPictrography4000CanvasSizes[kNumberOfCanvases];	// added 6/30/99
	updated void TCanvasPrefs::SetSettings()
	updated void TCanvasPrefs::SetupCanvasMenu(short	item)
	added	void doPictrography4000FactorySettings();	// 6/30/99
	updated void TTeps1000Preferences::ITeps1000Preferences()
	updated	void TTeps1000Preferences::WriteCanvasResources()
	updated	void TTeps1000Preferences::ReadCanvasResources()

uses ptr to access the respective globals
	extern void doSony8800FactorySettings();
	extern void doSony5500FactorySettings();
	extern void doSony1500FactorySettings();
	extern void doSony2500FactorySettings();
	extern void doSony2550FactorySettings();
	extern void doSonyM55FactorySettings();
	extern void doKodak8600XLSFactorySettings();
	extern void doKodakDS8650FactorySettings();
	extern void doKodakDS8657FactorySettings();
	extern void doSony8800dpi300FactorySettings();
	extern void doPictrography3000FactorySettings();




copy dlog 1032 from fg res to bg res
- Remove UDatabaseCursor.cp and UDatabaseCursor.h from BG Mac App Folder
(Foreground and Background App will now share this file)
- Replace UDatabaseCursor.cp in MacApp Source folder with new file
- Replace "UOverlayObject.cp" in BG MacApp source with new file

updated CMNU #1 to About ^0 background and foreground



allow printing in background for kodak 8650 jobs
allow printing in background for fuji pictrography 3000 and 4000






5.3.4
recompiled to remove error message when decrementing key counter



5.3.0.b4
6/21/99
TNewFujiCameraHandler.cp changed:
give camera control back to photographer first, then AddFileToList;
otherwise, camera status thinks that camera is ready but not really yet
do save image first, then release camera, then save as jpeg
CameraHandler.cp changed
fix background spooler crash when printing kodak images type
added color icon to camera status window
enabled save composition as... from main menu bar - changed in resource id number

version 5.3.0
Support Print All pages both for teps & spooler
Show progress for printing in drag&drop mode
Added Camera Status Window
Teps-spooler
	Preference for auto start queue
	Show list of jobs in queue at startup
	Menu options to delete job files


version 5.1
Apply Kodak Color to Marked Images
Hot Folder From Start Sitting
Fill All, Current Image - Corrected rotation for rotated and unrotated nodes
Delete Image, in use works correctly now
Fill template with all & marked images
Kodak Image Settings & Zoom from Preview Image
Bring Teps-Spooler to Front when launching it
Only Scroll to end if new image is grabbed
Kodak printer fixed lamination
Fixed problem with Fuji Preferences
"Ready to take picture"-message for Fuji- and Kodakcamera

stuff for Fuji and Serial ports
test stuff for moving images


version 5.0.6
6/8/99
updated to CW-IDE-v3.3
fix foreground kodak printing with lamination
added to TKodakPrintHandler=>	tPrintSettingsPtr	GetPrintSettings(void);		// added 6/8/99
fix background printing of kodak with lamination also

version 5.0.5
5/28/99
allow lamination printing of sony 8800 in FG application
added "Add To Queue" button in the print tool bar
also update resource file to add extra button in print tool bar

version 5.0.4
5/26/99
fix crash when no chooser printer is selected
for the printqueue, check for noErr instead of true or false


version 5.0.3
5/26/99
changed resource to show "kodakUtils" instead of "Format Kodak"
enable kUseColorSync = true
created Teps2000Headers.h (always allow color sync)
allow proofing to monitor based on input and printer device in the FG only
// need to fix BG app to accept colorsync stuff

version 5.0.3
5/26/99
5/25/99
fix reading preference file and checking for correct version
fix memory leak with reading pict and tiff files as input
fix missing resource when importing overlay
fix kodak click balance and preview rotation
after loading pref, prompt user to quit app
zoom and print preview uses floating window with title bar
added TQDDevice Class for future use with multiple monitors

version 5.0.2
5/24/99
fix memory leak when printing in BG and applying color adjustments
speed up FG and BG when same image and same color adjustments

version 5.0.1
5/21/99
made size of print tool bar larger to accommodate standard size buttons and fonts
fix deleting image and resetting templates
added doPollEvent when acquiring dcs images and jpeg images
added doPollEvent when applying color adjustment
added apply to all for image tool bar - zoom tool and position tool

version 5.0.0
5/20/99
released before edwin left for trip



Drag & Drop Version
Save As for Nodes and Templates
Print Queue working for marked images, too
Hi/Lo Res Print Preview
Resume Sitting
Move New Print to top of spooler
Mark All Images
Preference for Startup mode in Preview Images Window
New preference file - Canvases without extra step

teps2000
========

4/14/99
TEPS-SPOOLER - Disabled Spooler settings when idle is eabled
Added a real size for overlay object

4/13/99
removed InterfaceLib, probably already included in Eve3Lib
removed MathLib, probably already included in Eve3Lib
removed MSL C.PPC (NL).Lib, probably already included in Eve3Lib
removed MSL RuntimePPC.Lib, probably already included in Eve3Lib


version 0.3.1
updated to latest rainbow library to find usb and adb triprism security key
updated startup screen to reflect each steps of the initialization process
changed names of classes TSonyScsiCmdSet to TSonyScsiPrinterCmdSet
changed names of classes TFujiScsiCmdSet to TFujiScsiPrinterCmdSet
changed names of classes TKodakScsiCmdSet to TKodakScsiPrinterCmdSet
fixes text box field in node and template views
fixes redraw problem on yosemite g3s: (fixes the redrawing ants)
	UObjectDragger.cp
	ULayoutObjectResizeTracker.cp
	TObjectSelector.cp
UNewLayoutObjectTracker.cp - file removed

version 0.3.0
4/7/99
removed the set_window command for the dkc-5000 event imaging mode
fixed chooser->ReadObjects to read template file from correct path
fixed dkc5000 read image using scsiBlind to work with g3 portables

version 0.2.9
4/5/99
check for camera disconnected messages with the dcs560 for some reason
give more delay time before copying tiff image to folder epecially for 560 camera

4/2/99
updated the BNDL to display triprisms different icons by teps2000/spooler
added 'kind' resource for different file types generated by teps2000/spooler
made sure that all file creator type is valid along with valid file type ids
icons match type of documents generated
removed stuff from old chooser printing for upd1500 and mpd55

4/1/99
version 0.2.8
{
	version 0.2.7
	based on v0.2.6 
	make sure that upd8800-300 dpi color settings is written to the job file in FG app
	make sure that upd8800-300 dpi color setting is read from the job file in BG app
	change BG idle loop to check for jobs properly
}

change BG idle loop to check for jobs properly
chooser driver is now for all generic printers
added option to forceRotation of image to paper orientation

3/31/99
make sure that upd8800-300 dpi color settings is written to the job file in FG app
make sure that upd8800-300 dpi color setting is read from the job file in BG app
app may crash if no chooser printer has been selected from a clean system install!!

3/30/99
fixed acquiring st5 images in the background
for portables 800x600, 17inch hiResWindow is used
added more menu options for the print button in hires window
3/29/99
added preferences for fuji printer color adjustments
send color adj info for fuji print jobs
3/27/99
cleaned up floating windows look and stuff
changed some utils main menu
3/26/99
allow fuji printer to print at various dpi's
allow fuji printer to print in the spooler
made progress res id 9001 modal dialog so no one can go to background
3/24/99
// to be done!!!!
discovered Possible Memory LEAKS in HIghResWindow.cp!!!!!!!!!! reminder to fix or freed on dismiss via macapp???
if dismiss, then when is view dismissed??
//
save preferences for chooser drivers
check to make sure that preference file is closed after writing to it!!!!!!
make sure that the chooser preferences are saved to the system preference file!!!!
assumes CurResFile for now;


version 0.2.6
3/24/99
make sure that pccard is not present when checking for fPollInfo.lMemFirstImageNum==-1
3/23/99
Added check fPollInfo.lMemFirstImageNum==-1 for DCS410 in Check4NewImages inside "KodakCameraHandler.cp"
Added destructor for TDragHandler class in UDatadragger.cp
Added delete fDropLayoutObjectsHandler to destructor class to cleanup dragHandlers in ULayoutView.cp
Fixed Inputpreferences to work correctly with SonySt5 Portrait studio mode (including disable of items for
modes that are not enabled).

3/22/99
in BG app, Fixed bug in UPrintView.cp that caused application to crash when using more then two
overlays in template!

version 0.2.5
3/19/99
fixed memory leaks and memory hogging problems
protectTheGworld now calls GetPixMapAndLockIt
added extra field, useLaminationType, in myUpdColorAdjustInfo.h
fixed ReadStruct Problem

version 0.2.4
3/18/99
fixed upd-8800 so that it can print at 150 dpi properly (always printed at 300dpi res) in FG and BG!
added stamp option to print folder name!
try to make background printing more efficient
fixed start sitting with copy to harddisk option
in BG app, show thumbnail even after window is not in fg
in BG app, can update job window in real time, but makes the process slower - remove it

3/17/99
decrement correct number of counts for print quantity greater than 1
changed sony printer prefs to include lamination type!!!  not yet implemented
fixed problem with moving long job file names

3/16/99
check to decrement counter when saving to composition to file
SaveAsJPEGFile=> return true only if file is compressed and saved!!!
SaveAsPICTFile=> return true only if file is compressed and saved!!!
check if proper key, else save composite file with for demo only!
truncate job name when copying to finished job folder, otherwise too many messages show up

version 0.2.3
3/16/99
remove progress window after printing to chooser - caused app to crash!
upd8800 printer preference not recognized - changed name to find [UP-D8800,D70A]

version 0.2.2
3/12/99
new kodak sdk v1.3.7
check for tiff header MM=0x2a II=0x02a00
supports tiff tags properly BUT still only rgb images only


version 0.2.1
new kodak sdk v1.3.6
post cmd-dot cmd when pressing pause in bg app
changed 90 ticks to 10 ticks in copy image to folder for kodak direct connect


version 0.2.0
trying to check for all different types of keys
UPrintView.cp - added roundtol function to prevent incorrect template being sent to bg job
UTemplateView.cp - fixed 2up 2rowx1col problem; actually 2nd up is off the screen MAY CRASH!!!!
jpeg.c - compress_jpeg_buffer changed to accept width and height arguments

version 0.1.9
fixed problem with printing full size 5x7 to 5500 in the background mode
problem with rounding floats

version 0.1.8
used with daniel tam's rental unit





teps-1000
=========
version 1.0.5b
11/10/98
fixed compile options so that preferences will show up
change factory defaults for overwrite existing file is false
change factory defaults for unmount pc card automatically is true


version 1.0.5a
fixed problem with printing with and without overlay in setup overlay window and hi res window

version 1.0.4
10/19/98
10/22/98
try to fix scsi transfer read for dkc-st5 unit to scsiTransferBlind
try to fix problem when image is grabbed into st5 while in main menu and then going into start
 sitting, sometimes, it does not think the memory is empty
after grabbing from cmd-3, memory image is shown as opposed to live image
try to fix problem with canvas setup and rotating the image as part of canvas setup
allow user to do 4UP to kodak printers

version 1.0.3
10/6/98
Kodak SDK update to v1.2.16


version 1.0.2
9/14/98
fixed click balance for kodak 4xx cameras
fixed stationary file printing for stereo images to upd2550
confused static external image file verses external overlay file

version 1.0.1
updated for amuseprint version
fixed bug in nostalgia when selecting selecting folder
supports tiff files saved from ps4.0 app
enabled print quantity window


version 0.9.9
remove checking for locking out remote commander of st5
added floating window for dkc-st5 background status
look for "DS 8670" printer as if it were an 8600
dont need to setup overlay even if not defined for the first time
dont idle for the kodak-input and in the preview image mode

if marked images and then retile images, still remembers marked images
make factory default preferences match as when running teps for the very first time
add the print quantity window????



0.9.8
updated for for ppa demo
set the flags for checking for locking out remote commander (reverse true to false )
fixed sony portrait studio mode to show thumbnail rotated if preference enabled
supports UP-D70A same as UPD8800 printer


0.9.7
fixed nostalgia version from 0.9.6
new sony portrait studio mode


version 0.9.6
uses new shell for dcs camera
supports 520 camera with old sdk only

version 0.9.5
??



version 0.9.4
7/9/98
fix speed issue with drop and drag feature in overlay window
added n-up images in select image under overlay window
show two different images side by side
print more than one sheet of 20ups
has the fuji photoproofing mode
streamlined some stuff with the parallel printers

version 0.9.3
6/25/98
check for autoprint with kodak printer
check for no paper error message for kodak printer
fixed sepia 2 different images
use the same function for 1up, 2up, 8up, and 2differentUp


version 0.9.2
6/24/98
fixed bug in looking for DS8650 printers; changed length of search string;
set default preferences for 5x7's to include a gap when printing

version 0.9.1
6/22/98
search for all scsi printers (sony and kodak) the same method
try solve "parse error" problem when printing to kodak; (timing issue??)

version 0.9.0
6/18/98
fixed bug to print unique filename for 20up to 5500 printer

version 0.8.9
look for multi-kodak printers on the same scsi chain
print 20up??
